778 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			778 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Python
		
	
	
	
| 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
 |