Mercurial > cpython-lru_cache-weakref
view Tools/pybench/Arithmetic.py @ 78069:a8aa77458e12 3.2
Add c_size_t and c_ssize_t to the ctypes summary table.
| author | Antoine Pitrou <solipsis@pitrou.net> |
|---|---|
| date | Thu, 12 Jul 2012 20:31:50 +0200 |
| parents | 229c28cb9afb |
| children |
line wrap: on
line source
from pybench import Test class SimpleIntegerArithmetic(Test): version = 2.0 operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) rounds = 120000 def test(self): for i in range(self.rounds): a = 2 b = 3 c = 3 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 b = 3 c = 3 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 b = 3 c = 3 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 b = 3 c = 3 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 b = 3 c = 3 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b def calibrate(self): for i in range(self.rounds): pass class SimpleFloatArithmetic(Test): version = 2.0 operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) rounds = 120000 def test(self): for i in range(self.rounds): a = 2.1 b = 3.3332 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2.1 b = 3.3332 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2.1 b = 3.3332 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2.1 b = 3.3332 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2.1 b = 3.3332 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b def calibrate(self): for i in range(self.rounds): pass class SimpleIntFloatArithmetic(Test): version = 2.0 operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) rounds = 120000 def test(self): for i in range(self.rounds): a = 2 b = 3 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 b = 3 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 b = 3 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 b = 3 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 b = 3 c = 3.14159 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b def calibrate(self): for i in range(self.rounds): pass class SimpleLongArithmetic(Test): version = 2.0 operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) rounds = 60000 def test(self): for i in range(self.rounds): a = 2220001 b = 100001 c = 30005 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2220001 b = 100001 c = 30005 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2220001 b = 100001 c = 30005 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2220001 b = 100001 c = 30005 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2220001 b = 100001 c = 30005 c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b def calibrate(self): for i in range(self.rounds): pass class SimpleComplexArithmetic(Test): version = 2.0 operations = 5 * (3 + 5 + 5 + 3 + 3 + 3) rounds = 80000 def test(self): for i in range(self.rounds): a = 2 + 3j b = 2.5 + 4.5j c = 1.2 + 6.2j c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 + 3j b = 2.5 + 4.5j c = 1.2 + 6.2j c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 + 3j b = 2.5 + 4.5j c = 1.2 + 6.2j c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 + 3j b = 2.5 + 4.5j c = 1.2 + 6.2j c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b a = 2 + 3j b = 2.5 + 4.5j c = 1.2 + 6.2j c = a + b c = b + c c = c + a c = a + b c = b + c c = c - a c = a - b c = b - c c = c - a c = b - c c = a / b c = b / a c = c / b c = a * b c = b * a c = c * b c = a / b c = b / a c = c / b def calibrate(self): for i in range(self.rounds): pass
