Message73722
Yes, I think that the speed-up is due to reducing the number of
shifts and masks.
Changing PyLong_SHIFT to 16 would be complicated; for instance in
v_iadd() carry could not be a digit of 16 bits anymore; writing code
specific for 64 bit machines would surely improve performance;
maybe with PyLong_SHIFT=30 few changes to the code would be needed?
I did not modify the case a = b.
I changed the documentation, which was wrong,
adding detailed bounds on carry
in the various steps to check that it does not overflow.
I corrected the wrong assertion (carry <= PyLong_MASK). |
|
Date |
User |
Action |
Args |
2008-09-24 15:57:55 | pernici | set | recipients:
+ pernici, mark.dickinson |
2008-09-24 15:57:55 | pernici | set | messageid: <1222271875.08.0.260151907482.issue3944@psf.upfronthosting.co.za> |
2008-09-24 15:57:54 | pernici | link | issue3944 messages |
2008-09-24 15:57:53 | pernici | create | |
|