on text-jsstring help sign in
text/benchmarks/python/multilang.py
50 lines 1.0 kB history raw
1#!/usr/bin/env python
3import math
4import sys
5import time
7def find_first():
8 cf = contents.find
9 return timer(lambda: cf("en:Benin"))
11def timer(f, count=100):
12 a = 1e300
13 def g():
14 return
15 for i in xrange(3):
16 start = time.time()
17 for j in xrange(count):
18 g()
19 a = min(a, (time.time() - start) / count)
21 b = 1e300
22 for i in xrange(3):
23 start = time.time()
24 for j in xrange(count):
25 f()
26 b = min(b, (time.time() - start) / count)
28 return round(b - a, int(round(math.log(count, 10) - math.log(b - a, 10))))
30contents = open('../../tests/text-test-data/yiwiki.xml', 'r').read()
31contents = contents.decode('utf-8')
33benchmarks = (
34 find_first,
35 )
37to_run = sys.argv[1:]
38bms = []
39if to_run:
40 for r in to_run:
41 for b in benchmarks:
42 if b.__name__.startswith(r):
43 bms.append(b)
44else:
45 bms = benchmarks
47for b in bms:
48 sys.stdout.write(b.__name__ + ' ')
49 sys.stdout.flush()
50 print b()