Commits

Author Commit Message Labels Comments Date
stian
Merge in default
Branches
improve-rbigint
stian
Working, but ineffective toom cook implantation
Branches
improve-rbigint
stian
More to the toom cook implantation, it's 'almost' correct. Added a failed test
Branches
improve-rbigint
stian
Fix one test, fix so a few tests no longer fails (divrem fails for some reason, I don't understand why). Optimize mod() and fix issue with lshift and fix translation (for some reason the last commit failed today, but worked last night hehe)
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
Always inline _normalize. This give a HUGE speedup for lshift, but most calls that does very little work seem to benefit
Branches
improve-rbigint
stian
A slight cleanup
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
Slight simplication. No performance
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
stian
Add some jit hooks and remove the shift len check from int.h (because rbigint is the only place we use longlonglong, and probably ever gonna use it)
Branches
improve-rbigint
stian
A little sad news, lshift with tiny numbers are nearly twice as slow using int128. It's not a slow operation tho, 2.875e-08 per round. For comparesment 2**n (![0->10000]) takes 9.66e-04 per round (and thats 50 times faster than unmodified pypy). Even a regular add operation takes 1e-05 per round.
Branches
improve-rbigint
stian
Some more tweaks + rshift and lshift benchmark
Branches
improve-rbigint
stian
Ensure correct type when doing rshift
Branches
improve-rbigint
stian
Some not working code for checking for int128 support. Also add support for non-int128 platforms as soon as we can detect them.
Branches
improve-rbigint
stian
Fix a test, fix so all tests passes, and some improvements. Minor impact on performance, some become faster, some slower. I'll see how it turns out in a translated version.
Branches
improve-rbigint
stian
Necessary fixes for 32bit, and the last cache int number
Branches
improve-rbigint
stian
We need the cast, otherwise I'm sure it won't work on 32bit. On 64bit it links to the same type anyway
Branches
improve-rbigint
stian
Fix translation of targetpypystandalone when SHIFT != 31 It translate, in jit mode on 64bit now :)
Branches
improve-rbigint
stian
Introduce int128 and int cache. Also find a new karatsuba cutoff that is fine with the new settings. Some things are slower (especially creating new ints). But generally, it's a major speedup. 4 failing tests, mostly due to not being able to cast down to int. Hash is also wrong (critical). Not JIT support yet I suppose.
Branches
improve-rbigint
stian
Fix a bug with floordiv caused by my power of two code that allowed div by 0
Branches
improve-rbigint
stian
Remove a unintensional import
Branches
improve-rbigint
stian
Reduce operations on mod and floordiv (without power of two) = more speed
Branches
improve-rbigint
stian
Speedup floordiv by the power of two
Branches
improve-rbigint
stian
Forgot pypy default results (300 times faster with improvements)
Branches
improve-rbigint
  1. Prev
  2. Next