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 xrange(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 xrange(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 xrange(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 xrange(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 xrange(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 xrange(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 xrange(self.rounds): | |
a = 2220001L | |
b = 100001L | |
c = 30005L | |
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 = 2220001L | |
b = 100001L | |
c = 30005L | |
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 = 2220001L | |
b = 100001L | |
c = 30005L | |
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 = 2220001L | |
b = 100001L | |
c = 30005L | |
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 = 2220001L | |
b = 100001L | |
c = 30005L | |
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 xrange(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 xrange(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 xrange(self.rounds): | |
pass |