Update benchmarks for Python3 while retaining backwards compatibility with Python2

This commit is contained in:
Ivor Blockley
2017-07-18 15:17:28 +10:00
parent fdc8a372a2
commit 0fa6da74cc
6 changed files with 21 additions and 13 deletions

View File

@@ -25,7 +25,7 @@ def random_car(car):
car.length = 170 + rand_int(150) car.length = 170 + rand_int(150)
car.width = 48 + rand_int(36) car.width = 48 + rand_int(36)
car.height = 54 + rand_int(48) car.height = 54 + rand_int(48)
car.weight = car.length * car.width * car.height / 200 car.weight = car.length * car.width * car.height // 200
engine = car.engine engine = car.engine
engine.horsepower = 100 * rand_int(400) engine.horsepower = 100 * rand_int(400)
@@ -51,7 +51,7 @@ def calc_value(car):
result += wheel.diameter * wheel.diameter result += wheel.diameter * wheel.diameter
result += 100 if wheel.snow_tires else 0 result += 100 if wheel.snow_tires else 0
result += car.length * car.width * car.height / 50 result += car.length * car.width * car.height // 50
engine = car.engine engine = car.engine
result += engine.horsepower * 40 result += engine.horsepower * 40

View File

@@ -25,7 +25,7 @@ def random_car(car):
car.length = 170 + rand_int(150) car.length = 170 + rand_int(150)
car.width = 48 + rand_int(36) car.width = 48 + rand_int(36)
car.height = 54 + rand_int(48) car.height = 54 + rand_int(48)
car.weight = car.length * car.width * car.height / 200 car.weight = car.length * car.width * car.height // 200
engine = car.init('engine') engine = car.init('engine')
engine.horsepower = 100 * rand_int(400) engine.horsepower = 100 * rand_int(400)
@@ -51,7 +51,7 @@ def calc_value(car):
result += wheel.diameter * wheel.diameter result += wheel.diameter * wheel.diameter
result += 100 if wheel.snowTires else 0 result += 100 if wheel.snowTires else 0
result += car.length * car.width * car.height / 50 result += car.length * car.width * car.height // 50
engine = car.engine engine = car.engine
result += engine.horsepower * 40 result += engine.horsepower * 40

View File

@@ -2,8 +2,12 @@
from common import rand_int, rand_double, rand_bool, WORDS, from_bytes_helper from common import rand_int, rand_double, rand_bool, WORDS, from_bytes_helper
from random import choice from random import choice
from string import letters from string import ascii_letters
from itertools import izip try:
# Python 2
from itertools import izip
except ImportError:
izip = zip
import catrank_pb2 import catrank_pb2
class Benchmark: class Benchmark:
@@ -22,7 +26,7 @@ class Benchmark:
result = request.result.add() result = request.result.add()
result.score = 1000 - i result.score = 1000 - i
url_size = rand_int(100) url_size = rand_int(100)
result.url = "http://example.com/" + ''.join([choice(letters) for _ in range(url_size)]) result.url = "http://example.com/" + ''.join([choice(ascii_letters) for _ in range(url_size)])
isCat = rand_bool() isCat = rand_bool()
isDog = rand_bool() isDog = rand_bool()

View File

@@ -4,8 +4,12 @@ import capnp
import catrank_capnp import catrank_capnp
from common import rand_int, rand_double, rand_bool, WORDS from common import rand_int, rand_double, rand_bool, WORDS
from random import choice from random import choice
from string import letters from string import ascii_letters
from itertools import izip try:
# Python 2
from itertools import izip
except ImportError:
izip = zip
class Benchmark: class Benchmark:
def __init__(self, compression): def __init__(self, compression):
@@ -29,7 +33,7 @@ class Benchmark:
for i, result in enumerate(results): for i, result in enumerate(results):
result.score = 1000 - i result.score = 1000 - i
url_size = rand_int(100) url_size = rand_int(100)
result.url = "http://example.com/" + ''.join([choice(letters) for _ in range(url_size)]) result.url = "http://example.com/" + ''.join([choice(ascii_letters) for _ in range(url_size)])
isCat = rand_bool() isCat = rand_bool()
isDog = rand_bool() isDog = rand_bool()

View File

@@ -28,7 +28,7 @@ def div(a, b):
if a == MIN_INT and b == -1: if a == MIN_INT and b == -1:
return MAX_INT return MAX_INT
return a / b return a // b
def mod(a, b): def mod(a, b):
if b == 0: if b == 0:
@@ -109,4 +109,4 @@ class Benchmark:
response.value = evaluate_expression(request) response.value = evaluate_expression(request)
def check(self, response, expected): def check(self, response, expected):
return response.value == expected return response.value == expected

View File

@@ -29,7 +29,7 @@ def div(a, b):
if a == MIN_INT and b == -1: if a == MIN_INT and b == -1:
return MAX_INT return MAX_INT
return a / b return a // b
def mod(a, b): def mod(a, b):
if b == 0: if b == 0: