# HG changeset patch # User Franz Glasner # Date 1639791390 -3600 # Node ID 9e5fec21e2fb11134e58b3702631f08227403cd7 # Parent 4dbc16ff2670c1ccf9c7bff994eb679ce1b68db8 Measure quote/unquote performance diff -r 4dbc16ff2670 -r 9e5fec21e2fb tests/_perf_config.py --- a/tests/_perf_config.py Sat Dec 18 02:35:42 2021 +0100 +++ b/tests/_perf_config.py Sat Dec 18 02:36:30 2021 +0100 @@ -15,6 +15,7 @@ import os import configmix +import configmix.config TESTDATADIR = os.path.join( os.path.abspath(os.path.dirname(configmix.__file__)), @@ -22,6 +23,9 @@ "tests", "data") +unquote = configmix.unquote +quote = configmix.quote + cfg = configmix.load(os.path.join(TESTDATADIR, "conf_perf.py")) """ @@ -29,6 +33,13 @@ num = 1000000 +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)) +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)) +print("quote/nothing: %.3f" % timeit.timeit('a = [quote(vp) for vp in (u"abc", u"def", u"hij")]', setup=setup, number=num)) +print("quote/yes: %.3f" % timeit.timeit('a = [quote(vp) for vp in (u"ab:c", u"def", u"h.ij")]', setup=setup, number=num)) + +print("="*78) + print("xxx: %.3f" % timeit.timeit('cfg.getvarl(u"tree1", u"yyy", default=None)', setup=setup, number=num)) print("xxx: %.3f" % timeit.timeit('cfg.getvarl_s(u"tree1", u"yyy", default=None)', setup=setup, number=num)) print("xxx: %.3f" % timeit.timeit('cfg.getvar(u"tree1.yyy", default=None)', setup=setup, number=num)) @@ -54,3 +65,4 @@ print("xxx: %.3f" % timeit.timeit('cfg.getvar(u"tree1.tree2.key11")', setup=setup, number=num)) print("xxx: %.3f" % timeit.timeit('cfg.getvar_s(u"tree1.tree2.key11")', setup=setup, number=num)) +