Author scoder
Recipients mark.dickinson, pitrou, scoder, serhiy.storchaka, vstinner
Date 2014-09-27.18:32:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1411842729.0.0.358943590166.issue22501@psf.upfronthosting.co.za>
In-reply-to
Content
One more comment: I also benchmarked the change in long_true_div() now and found that it's only a minor improvement for large numbers and a *pessimisation* for small numbers:

Before:

$ ./python -m timeit -s 'x = 5' 'x / -1'
10000000 loops, best of 3: 0.0313 usec per loop
$ ./python -m timeit -s 'x = 5' 'x / 1'
10000000 loops, best of 3: 0.0307 usec per loop

$ ./python -m timeit -s 'x = 2**200 + 3**234 + 5**89 + 7**123' 'x / 1'
10000000 loops, best of 3: 0.101 usec per loop
$ ./python -m timeit -s 'x = 2**200 + 3**234 + 5**89 + 7**123' 'x / -1'
10000000 loops, best of 3: 0.104 usec per loop


Patched:

$ ./python -m timeit -s 'x = 5' 'x / 1'                                  
10000000 loops, best of 3: 0.0569 usec per loop
$ ./python -m timeit -s 'x = 5' 'x / -1'
10000000 loops, best of 3: 0.0576 usec per loop

$ ./python -m timeit -s 'x = 2**200 + 3**234 + 5**89 + 7**123' 'x / -1'
10000000 loops, best of 3: 0.056 usec per loop
$ ./python -m timeit -s 'x = 2**200 + 3**234 + 5**89 + 7**123' 'x / 1' 
10000000 loops, best of 3: 0.056 usec per loop

$ ./python -m timeit -s 'x = 2**200 + 3**234 + 5**89 + 7**123' 'x / -2'
10000000 loops, best of 3: 0.106 usec per loop


So, just for completeness, here's the patch without that part, with changes only in l_divmod() and long_mul(), with the timeit results as given in my previous comment.
History
Date User Action Args
2014-09-27 18:32:09scodersetrecipients: + scoder, mark.dickinson, pitrou, vstinner, serhiy.storchaka
2014-09-27 18:32:09scodersetmessageid: <1411842729.0.0.358943590166.issue22501@psf.upfronthosting.co.za>
2014-09-27 18:32:08scoderlinkissue22501 messages
2014-09-27 18:32:08scodercreate