Mercurial > hgrepos > Python > libs > ConfigMix
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 |
