changeset: 90964:1318324aa93a branch: 3.4 parent: 90960:6c468df214dc user: Victor Stinner date: Mon Jun 02 14:16:44 2014 +0200 files: Lib/test/pystone.py Misc/NEWS description: Issue #21634: Fix pystone micro-benchmark: use floor division instead of true division to benchmark integers instead of floating point numbers. Set pystone version to 1.2. Patch written by Lennart Regebro. diff -r 6c468df214dc -r 1318324aa93a Lib/test/pystone.py --- a/Lib/test/pystone.py Mon Jun 02 01:05:29 2014 -0700 +++ b/Lib/test/pystone.py Mon Jun 02 14:16:44 2014 +0200 @@ -3,7 +3,7 @@ """ "PYSTONE" Benchmark Program -Version: Python/1.1 (corresponds to C/1.1 plus 2 Pystone fixes) +Version: Python/1.2 (corresponds to C/1.1 plus 3 Pystone fixes) Author: Reinhold P. Weicker, CACM Vol 27, No 10, 10/84 pg. 1013. @@ -30,13 +30,20 @@ percent faster than version 1.0, so benchmark figures of different versions can't be compared directly. + Version 1.2 changes the division to floor division. + + Under Python 3 version 1.1 would use the normal division + operator, resulting in some of the operations mistakenly + yielding floats. Version 1.2 instead uses floor division + making the benchmark a integer benchmark again. + """ LOOPS = 50000 from time import clock -__version__ = "1.1" +__version__ = "1.2" [Ident1, Ident2, Ident3, Ident4, Ident5] = range(1, 6) @@ -123,7 +130,7 @@ EnumLoc = Proc6(Ident1) CharIndex = chr(ord(CharIndex)+1) IntLoc3 = IntLoc2 * IntLoc1 - IntLoc2 = IntLoc3 / IntLoc1 + IntLoc2 = IntLoc3 // IntLoc1 IntLoc2 = 7 * (IntLoc3 - IntLoc2) - IntLoc1 IntLoc1 = Proc2(IntLoc1) diff -r 6c468df214dc -r 1318324aa93a Misc/NEWS --- a/Misc/NEWS Mon Jun 02 01:05:29 2014 -0700 +++ b/Misc/NEWS Mon Jun 02 14:16:44 2014 +0200 @@ -46,7 +46,7 @@ - Issue #14710: pkgutil.find_loader() no longer raises an exception when a module doesn't exist. -- Issue #21481: Argparse equality and inequality tests now return +- Issue #21481: Argparse equality and inequality tests now return NotImplemented when comparing to an unknown type. - Issue #8743: Fix interoperability between set objects and the @@ -66,6 +66,10 @@ Tests ----- +- Issue #21634: Fix pystone micro-benchmark: use floor division instead of true + division to benchmark integers instead of floating point numbers. Set pystone + version to 1.2. Patch written by Lennart Regebro. + - Issue #21605: Added tests for Tkinter images. - Issue #21493: Added test for ntpath.expanduser(). Original patch by