]> granicus.if.org Git - python/commit
Merged revisions 70542 via svnmerge from
authorMark Dickinson <dickinsm@gmail.com>
Mon, 23 Mar 2009 18:44:57 +0000 (18:44 +0000)
committerMark Dickinson <dickinsm@gmail.com>
Mon, 23 Mar 2009 18:44:57 +0000 (18:44 +0000)
commit17e4fddb57049ed3a29cb667b630698973d946b8
tree326235f8fd541d6fc73e4cc600d44872c0908d4b
parent798ee1a4c6d60a2e497f91357aafba988bd28ba7
Merged revisions 70542 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r70542 | mark.dickinson | 2009-03-23 18:25:13 +0000 (Mon, 23 Mar 2009) | 14 lines

  Issue #5512: speed up the long division algorithm for Python longs.
  The basic algorithm remains the same; the most significant speedups
  come from the following three changes:

    (1) normalize by shifting instead of multiplying and dividing
    (2) the old algorithm usually did an unnecessary extra iteration of
        the outer loop; remove this.  As a special case, this means that
        long divisions with a single-digit result run twice as fast as
        before.
    (3) make inner loop much tighter.

  Various benchmarks show speedups of between 50% and 150% for long
  integer divisions and modulo operations.
........
Misc/NEWS
Objects/longobject.c