Message92498
One more iteration of the patch is attached: I rewrote the conversion
algorithm to do the base PyLong_BASE to base 10**e conversion first,
then output the base 10**e array as individual digits. For OS
X/Intel, this seems to speed things up significantly.
(First three values below are the same as before.)
OS X 10.6, 64-bit build of Python, 30-bit digits:
original: 783.8 ms
patch 1: 373.5 ms (2.1 x faster)
patch 2: 323.7 ms (2.4 x faster)
patch 3: 250.1 ms (3.1 x faster)
For OS X 10.5, 32-bit build of Python with 15-bit digits, on the same platform as above,
I get the following timings:
original: 2045.1 ms
patch 1 : 1052.2 ms (1.94 x faster)
patch 2 : 1228.7 ms (1.66 x faster)
patch 3 : 725.8 ms (2.82 x faster) |
|
Date |
User |
Action |
Args |
2009-09-10 20:10:47 | mark.dickinson | set | recipients:
+ mark.dickinson, collinwinter, gregory.p.smith, vstinner, eric.smith, gawain |
2009-09-10 20:10:45 | mark.dickinson | set | messageid: <1252613445.67.0.443854204749.issue6713@psf.upfronthosting.co.za> |
2009-09-10 20:10:43 | mark.dickinson | link | issue6713 messages |
2009-09-10 20:10:42 | mark.dickinson | create | |
|