changeset 505:9e5fec21e2fb

Measure quote/unquote performance
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 18 Dec 2021 02:36:30 +0100
parents 4dbc16ff2670
children dffa692751b1
files tests/_perf_config.py
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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))
 
+