[Python-checkins] r70548 - python/branches/release30-maint

mark.dickinson python-checkins at python.org
Mon Mar 23 19:46:40 CET 2009


Author: mark.dickinson
Date: Mon Mar 23 19:46:40 2009
New Revision: 70548

Log:
Blocked revisions 70547 via svnmerge

................
  r70547 | mark.dickinson | 2009-03-23 18:44:57 +0000 (Mon, 23 Mar 2009) | 21 lines
  
  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.
  ........
................


Modified:
   python/branches/release30-maint/   (props changed)


More information about the Python-checkins mailing list