• Mark Dickinson's avatar
    Merged revisions 70542 via svnmerge from · 17e4fddb
    Mark Dickinson authored
    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.
    ........
    17e4fddb
NEWS 25.6 KB