diff options
author | Carl Friedrich Bolz-Tereick <cfbolz@gmx.de> | 2020-03-02 19:21:42 +0100 |
---|---|---|
committer | Carl Friedrich Bolz-Tereick <cfbolz@gmx.de> | 2020-03-02 19:21:42 +0100 |
commit | ae7c1beefdb9cdb19e1c54355bb4ea2c120f94ac (patch) | |
tree | 5ea95d6fac6bf674833430b9399cf88c24b8a5ce /pypy/tool | |
parent | Added support for spaceconfig in new style applevel tests (diff) | |
download | pypy-ae7c1beefdb9cdb19e1c54355bb4ea2c120f94ac.tar.gz pypy-ae7c1beefdb9cdb19e1c54355bb4ea2c120f94ac.tar.bz2 pypy-ae7c1beefdb9cdb19e1c54355bb4ea2c120f94ac.zip |
move those utf8 benchmarks to more sensible places
Diffstat (limited to 'pypy/tool')
-rw-r--r-- | pypy/tool/bench/unicode-bench.py | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/pypy/tool/bench/unicode-bench.py b/pypy/tool/bench/unicode-bench.py new file mode 100644 index 0000000000..ed2307db8d --- /dev/null +++ b/pypy/tool/bench/unicode-bench.py @@ -0,0 +1,77 @@ + +import time + +LGT = 100 + +unicodes = [unicode("u" * LGT + str(i)) for i in range(100)] +non_ascii_unicodes = [u"u" * LGT + unicode(i) + u"å" for i in range(100)] + +long_string = u" " * 1000000 +unicodes = [long_string] * 100 + +RANGE = 250000000 // LGT + +def upper(main_l): + l = [None] * 1000 + for i in xrange(RANGE): + l[i % 1000] = main_l[i % 100].upper() + +def lower(main_l): + l = [None] + for i in xrange(RANGE): + l[0] = main_l[i % 100].lower() + +def islower(main_l): + l = [None] + for i in xrange(RANGE * 3): + l[0] = main_l[i % 100].islower() + +def title(main_l): + l = [None] + for i in xrange(RANGE): + l[0] = main_l[i % 100].title() + +def add(main_l): + l = [None] + for i in xrange(RANGE): + l[0] = main_l[i % 100] + u"foo" + +def find(main_l): + l = [None] + for i in xrange(RANGE): + l[0] = main_l[i % 100].find(u"foo") + +def split(main_l): + l = [None] + for i in xrange(RANGE): + l[0] = main_l[i % 100].split() + +def splitlines(main_l): + l = [None] + for i in xrange(RANGE): + l[0] = main_l[i % 100].splitlines() + +def iter(main_l): + l = [None] + for i in xrange(RANGE // 10000): + for elem in main_l[i % 100]: + l[0] = elem + +def indexing(main_l): + l = [None] + for i in xrange(RANGE * 10): + l[0] = main_l[i % 100][13] + +def isspace(main_l): + l = [None] + for i in xrange(RANGE // 10000): + l[0] = main_l[i % 100].isspace() + +for func in [isspace]:#, lower, isupper, islower]: + t0 = time.time() + func(unicodes) + t1 = time.time() + print "ascii %s %.2f" % (func.__name__, t1 - t0) + #func(non_ascii_unicodes) + #t2 = time.time() + #print "non-ascii %s %.2f" % (func.__name__, t2 - t1) |