Author mark.dickinson
Recipients collinwinter, eric.smith, gawain, gregory.p.smith, mark.dickinson, vstinner
Date 2009-09-10.20:10:39
SpamBayes Score 1.40719e-08
Marked as misclassified No
Message-id <1252613445.67.0.443854204749.issue6713@psf.upfronthosting.co.za>
In-reply-to
Content
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)
History
Date User Action Args
2009-09-10 20:10:47mark.dickinsonsetrecipients: + mark.dickinson, collinwinter, gregory.p.smith, vstinner, eric.smith, gawain
2009-09-10 20:10:45mark.dickinsonsetmessageid: <1252613445.67.0.443854204749.issue6713@psf.upfronthosting.co.za>
2009-09-10 20:10:43mark.dickinsonlinkissue6713 messages
2009-09-10 20:10:42mark.dickinsoncreate