1. thomie
  2. pypy

Commits

Author Commit Message Date Builds
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
stian
Add speedup for all (power of two)**num. One of the tests ((2**31)**(2**31)) is now 100 times faster (this beats CPython, and even C)
Branches
improve-rbigint
stian
Add regular pypy benchmark. The improvement is about 50 times
Branches
improve-rbigint
stian
Power of two improvements?
Branches
improve-rbigint
stian
On 64bit x can already fit 2*shift ints
Branches
improve-rbigint
stian
More fixes to toom cock
Branches
improve-rbigint
stian
Reorganize to make room for toom cock (WIP) This also gave the first pow(a,b,c) benchmark a boost. Perhaps since some tricks kicks in earlier
Branches
improve-rbigint
stian
Remove the special casing in _x_add, it's really the same (only that by doing this, we also got to do two extra checks, which makes it slower)
Branches
improve-rbigint
stian
Futher improvements, two more tests
Branches
improve-rbigint
stian
Add another benchmark
Branches
improve-rbigint
stian
Fix a test and add some benchmarks for pow, mul and add operations.
Branches
improve-rbigint
stian
Move the strategy for _x_mul
Branches
improve-rbigint
stian
Re-enable the a == b strategy. Apperently it works, thou, not 2x speedup, but 16% on HUGE ints
Branches
improve-rbigint
stian
Unnecessary code removal
Branches
improve-rbigint
stian
More optimalization and a bug fix. Revert _normalize() it causes a test to fail when _x_sub is special cased. Add special cases to _x_add, _x_sub Add a lqshift function for those more constant shifts. It's slightly quicker. Add operations benchmarked to 4% improvement in general.
Branches
improve-rbigint
stian
Add special cases for 0, 1 and power of two multiplication. Increase both general multiplications like this: for n in xrange(10000): rbigint.pow(rbigint.fromint(n), rbigint.fromint(10**4)) And: for n in xrange(100000): rbigint.pow(rbigint.fromint(1024), rbigint.fromint(1024)) By 6-7%.
Branches
improve-rbigint
Stian Andreassen
Cleanup
Branches
improve-rbigint
Stian Andreassen
Find a better cutoff for karatsuba (The ideal in my tests was 38). This gives upto 20% performance increase while working in that range. Disable a trick in _x_mul, this was about 20-25% slower than the regular method. Etc: v = rbigint.fromint(2) for n in xrange(50000): v = v.mul(rbigint.fromint(2**62)) Went from 17.8s to 10.6s by just these changes alone.
Branches
improve-rbigint
stian
Make a branch to improve rbigint
Branches
improve-rbigint
  1. Prev
  2. Next