comparison tests/_perf_config.py @ 505:9e5fec21e2fb

Measure quote/unquote performance
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 18 Dec 2021 02:36:30 +0100
parents 1c83389fb8dd
children 42935e4cb8d3
comparison
equal deleted inserted replaced
504:4dbc16ff2670 505:9e5fec21e2fb
13 13
14 setup = """ 14 setup = """
15 import os 15 import os
16 16
17 import configmix 17 import configmix
18 import configmix.config
18 19
19 TESTDATADIR = os.path.join( 20 TESTDATADIR = os.path.join(
20 os.path.abspath(os.path.dirname(configmix.__file__)), 21 os.path.abspath(os.path.dirname(configmix.__file__)),
21 "..", 22 "..",
22 "tests", 23 "tests",
23 "data") 24 "data")
24 25
26 unquote = configmix.unquote
27 quote = configmix.quote
28
25 cfg = configmix.load(os.path.join(TESTDATADIR, "conf_perf.py")) 29 cfg = configmix.load(os.path.join(TESTDATADIR, "conf_perf.py"))
26 30
27 """ 31 """
28 32
29 33
30 num = 1000000 34 num = 1000000
35
36 print("unquote/nothing: %.3f" % timeit.timeit('a = [unquote(vp) for vp in u"abc.def.hij".split(configmix.config._HIER_SEPARATOR)]', setup=setup, number=num))
37 print("unquote/yes: %.3f" % timeit.timeit('a = [unquote(vp) for vp in u"ab%x20.def.h%x2ej".split(configmix.config._HIER_SEPARATOR)]', setup=setup, number=num))
38 print("quote/nothing: %.3f" % timeit.timeit('a = [quote(vp) for vp in (u"abc", u"def", u"hij")]', setup=setup, number=num))
39 print("quote/yes: %.3f" % timeit.timeit('a = [quote(vp) for vp in (u"ab:c", u"def", u"h.ij")]', setup=setup, number=num))
40
41 print("="*78)
31 42
32 print("xxx: %.3f" % timeit.timeit('cfg.getvarl(u"tree1", u"yyy", default=None)', setup=setup, number=num)) 43 print("xxx: %.3f" % timeit.timeit('cfg.getvarl(u"tree1", u"yyy", default=None)', setup=setup, number=num))
33 print("xxx: %.3f" % timeit.timeit('cfg.getvarl_s(u"tree1", u"yyy", default=None)', setup=setup, number=num)) 44 print("xxx: %.3f" % timeit.timeit('cfg.getvarl_s(u"tree1", u"yyy", default=None)', setup=setup, number=num))
34 print("xxx: %.3f" % timeit.timeit('cfg.getvar(u"tree1.yyy", default=None)', setup=setup, number=num)) 45 print("xxx: %.3f" % timeit.timeit('cfg.getvar(u"tree1.yyy", default=None)', setup=setup, number=num))
35 print("xxx: %.3f" % timeit.timeit('cfg.getvar_s(u"tree1.yyy", default=None)', setup=setup, number=num)) 46 print("xxx: %.3f" % timeit.timeit('cfg.getvar_s(u"tree1.yyy", default=None)', setup=setup, number=num))
52 print("xxx: %.3f" % timeit.timeit('cfg.getvarl(u"tree1", u"tree2", "key11")', setup=setup, number=num)) 63 print("xxx: %.3f" % timeit.timeit('cfg.getvarl(u"tree1", u"tree2", "key11")', setup=setup, number=num))
53 print("xxx: %.3f" % timeit.timeit('cfg.getvarl_s(u"tree1", u"tree2", "key11")', setup=setup, number=num)) 64 print("xxx: %.3f" % timeit.timeit('cfg.getvarl_s(u"tree1", u"tree2", "key11")', setup=setup, number=num))
54 print("xxx: %.3f" % timeit.timeit('cfg.getvar(u"tree1.tree2.key11")', setup=setup, number=num)) 65 print("xxx: %.3f" % timeit.timeit('cfg.getvar(u"tree1.tree2.key11")', setup=setup, number=num))
55 print("xxx: %.3f" % timeit.timeit('cfg.getvar_s(u"tree1.tree2.key11")', setup=setup, number=num)) 66 print("xxx: %.3f" % timeit.timeit('cfg.getvar_s(u"tree1.tree2.key11")', setup=setup, number=num))
56 67
68