You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.2 KiB

from pyutil import randutil
import random
from decimal import Decimal
l = []
s = None
def data_strings(N):
assert isinstance(N, int), (N, type(N))
del l[:]
for i in range(N):
l.append(repr(randutil.insecurerandstr(4)))
global s
s = json.dumps(l)
def data_Decimals(N):
del l[:]
for i in range(N):
l.append(Decimal(str(random.randrange(0, 1000000000)))/random.randrange(1, 1000000000))
global s
s = jsonutil.dumps(l)
def data_floats(N):
del l[:]
for i in range(N):
l.append(float(random.randrange(0, 1000000000))/random.randrange(1, 1000000000))
global s
s = json.dumps(l)
import json
from pyutil import jsonutil
def je(N):
return json.dumps(l)
def ue(N):
return jsonutil.dumps(l)
def jd(N):
return json.loads(s)
def ud(N):
return jsonutil.loads(s)
from pyutil import benchutil
for i in (data_strings, data_floats, data_Decimals):
for e in (ud, ue, jd, je):
# for e in (ue,):
print "i: %s, e: %s" % (i, e,)
try:
benchutil.bench(e, initfunc=i, TOPXP=5, profile=False)
except TypeError, e:
print "skipping due to %s" % (e,)
benchutil.print_bench_footer()