1. Pypy
  2. Untitled project
  3. pypy

Source

pypy / pypy / translator / goal / targetbigintbenchmark.py

Author Commit Message Date Builds
stian
Update targetbigintbenchmark.py, apperently it wasn't patched properly so it had old results.
Branches
improve-rbigint
stian
Apply improve-rbigint changes again
Branches
improve-rbigint
stian
Merge/replace by default
Branches
improve-rbigint
stian
Attempt to improve division by porting Cpythons new algorithm, it cuts division time by 30%. And also improve divrem1 by just casting the value, a small speed increase when // 3. Note: The CPython algorithm currently doesn't pass tests and need to be looked at
Branches
improve-rbigint
Stian Andreassen
Merge improve-rbigint. This branch improves the performance on most long operations and use 64bit storage and __int128 for wide digits on systems where it is available. Special cases for power of two mod, division, multiplication. Improvements to pow (see pypy/translator/goal/targetbigintbenchmark.py for some runs on my system), mark operations as elidable and various other tweaks. Overall, it makes things run faster than CPython if the script doesn't heavily rely on division.
stian
Backed out changeset d65e8cef8bec
Stian Andreassen
Update benchmark results and lib-python tests pass (except for test_socket which is not relevant to the branch)
Branches
improve-rbigint
Stian Andreassen
Another fix for pow(), disable _k_lopsided (has less than 1% gain), fix _x_divrem crash. There is one remaining known issue (with eq), may lake a _normalize somewhere
Branches
improve-rbigint
stian
Revert _tc_mul to the best version and remove check_nonneg (it did't clear when compiling in jit mode)
Branches
improve-rbigint
stian
Some last improvements: normalize of a numdigits = 0 doesn't happen. _x_mul with size_a = 1 can still win some performance while it's not power of two using _muladd1 By passing the size as we know it directly to rbigint() we save a call (doesn't really add speed, but slightly nicer C code) fiveary cutoff is benefitial without c (my mistake) annonforceargs doesn't really change speed (trades a check for a cast in most cas…
Branches
improve-rbigint
stian
Make _wide_digit use a cast instead of making a new value (slighty faster), make sure we support 32bit (I'm building a 32bit binary myself now, seems to work). And fix things those things arigo pointed out
Branches
improve-rbigint
stian
Fix a tiny issue when SUPPORT_INT = False, also add benchmark results
Branches
improve-rbigint
stian
Fixes. And reintroduce the jit stuff
Branches
improve-rbigint
stian
One fix, plenty of bugs left
Branches
improve-rbigint
stian
Probably my final toom cook test. Didn't go so well. Also disable jit.eldible because it seems to slow down good algoritms
Branches
improve-rbigint
stian
Vast improvement, especially to add and mul by self
Branches
improve-rbigint
stian
New results
Branches
improve-rbigint
stian
Fix a broken test, and optimize mod, and refactor benchmarks to be more explainable
Branches
improve-rbigint
stian
Use inplace_divrem to find the reminder from v, this makes divrem 20% faster
Branches
improve-rbigint
stian
Faster rshift since SHIFT >= sizeof(int)
Branches
improve-rbigint
stian
Reapply proofs of index >= 0 using unsigned (for mul this could in theory be done even quicker by making a unsigned longlonglong and avoid the cast)
Branches
improve-rbigint
stian
Working, but ineffective toom cook implantation
Branches
improve-rbigint
stian
Special case invert of 0, and save one creation when inverting. This makes floordiv quicker
Branches
improve-rbigint
stian
Make a new normalize method that skips one check and post results 1.3s improvement, mostly on shifts
Branches
improve-rbigint
stian
Improve the general speed of pow, special case 0 ** something and something ** 0, along with negative numbers.
Branches
improve-rbigint
stian
Revert changes to _x_add and _x_sub, it didn't provide speedup. And potensially it'll bug. Also updated benchmark results
Branches
improve-rbigint
stian
Add some _always_inline_ (for some reason it doesn't always happend). This makes lshift 15% faster
Branches
improve-rbigint
stian
Refactor the benchmark and make stuff unsigned
Branches
improve-rbigint
stian
Some more test data, and removal of the intcache stuff (In jit mode, this doesn't matter, I benchmarked in opt=2)
Branches
improve-rbigint
stian
Add some stuff regarding div. Not really working yet
Branches
improve-rbigint
  1. Prev
  2. 1
  3. 2
  4. Next