summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-06-02 12:16:44 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-06-02 12:16:44 (GMT)
commitd4d39c761cb4856da8958b2826d0ade6fe1d8539 (patch)
treecadae1a480fbccb83261a71a75303b305163115c
parentb16619188633a22a924ea9497c55932cd03fdc44 (diff)
downloadcpython-d4d39c761cb4856da8958b2826d0ade6fe1d8539.zip
cpython-d4d39c761cb4856da8958b2826d0ade6fe1d8539.tar.gz
cpython-d4d39c761cb4856da8958b2826d0ade6fe1d8539.tar.bz2
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.
-rwxr-xr-xLib/test/pystone.py13
-rw-r--r--Misc/NEWS6
2 files changed, 15 insertions, 4 deletions
diff --git a/Lib/test/pystone.py b/Lib/test/pystone.py
index d7f1ec9..a41f1e5 100755
--- a/Lib/test/pystone.py
+++ b/Lib/test/pystone.py
@@ -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 @@ Version History:
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 @@ def Proc0(loops=LOOPS):
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 --git a/Misc/NEWS b/Misc/NEWS
index c03534b..a8c6b35 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -46,7 +46,7 @@ Library
- 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 @@ Build
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