Differences between revisions 3 and 5 (spanning 2 versions)
Revision 3 as of 2006-05-22 18:31:31
Size: 189
Editor: FredrikLundh
Comment:
Revision 5 as of 2006-05-23 19:00:52
Size: 1440
Editor: TimPeters
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
 * Frame optimizations
Line 6: Line 8:
 * Speed up Unicode repeat operations (AndrewDalke, FredrikLundh)
 * Speed up Unicode operations (AndrewDalke, FredrikLundh). Most notable, repeat and most search operations (find, index, count, in) are now a lot faster. Current stringbench results:

{{{
str(ms) uni(ms) % comment
-----------------------------------------------------
1648.95 2940.04 56.1 TOTAL 2.5a2
1644.42 2795.33 58.8 TOTAL current (repeat tweaks)
1643.69 1652.60 99.5 TOTAL optimized match macro
1644.99 969.33 169.7 TOTAL optimized in
}}}

 * Patch 1335972 was a combination bugfix+speedup for string->int conversion. These are the speedups measured on my Windows box for decimal strings of various lengths. Note that the difference between 9 and 10 is the difference between short and long Python ints on a 32-bit box. The patch doesn't actually do anything to speed conversion to long directly; the speedup in those cases is solely due to due to detecting "unsigned long" overflow more quickly:

{{{
length speedup
------ -------
 1 12.4%
 2 15.7%
 3 20.6%
 4 28.1%
 5 33.2%
 6 37.5%
 7 41.9%
 8 46.3%
 9 51.2%
10 19.5%
11 19.9%
12 23.9%
13 23.7%
14 23.3%
15 24.9%
16 25.3%
17 28.3%
18 27.9%
19 35.7%

}}}

Things we think the Python community will like.

Assorted tweaks:

  • Frame optimizations
  • Made Gzip readline 30-40% faster (BobIppolito)

  • Speed up Unicode operations (AndrewDalke, FredrikLundh). Most notable, repeat and most search operations (find, index, count, in) are now a lot faster. Current stringbench results:

str(ms) uni(ms) %       comment
-----------------------------------------------------
1648.95 2940.04 56.1    TOTAL 2.5a2
1644.42 2795.33 58.8    TOTAL current (repeat tweaks)
1643.69 1652.60 99.5    TOTAL optimized match macro
1644.99 969.33  169.7   TOTAL optimized in
  • Patch 1335972 was a combination bugfix+speedup for string->int conversion. These are the speedups measured on my Windows box for decimal strings of various lengths. Note that the difference between 9 and 10 is the difference between short and long Python ints on a 32-bit box. The patch doesn't actually do anything to speed conversion to long directly; the speedup in those cases is solely due to due to detecting "unsigned long" overflow more quickly:

length speedup
------ -------
 1       12.4%
 2       15.7%
 3       20.6%
 4       28.1%
 5       33.2%
 6       37.5%
 7       41.9%
 8       46.3%
 9       51.2%
10       19.5%
11       19.9%
12       23.9%
13       23.7%
14       23.3%
15       24.9%
16       25.3%
17       28.3%
18       27.9%
19       35.7%

NeedForSpeed/Successes (last edited 2008-11-15 14:00:10 by localhost)

Unable to edit the page? See the FrontPage for instructions.