diff tests/_perf_config.py @ 539:9546d38cd3f8

Refactor: the parsing of the quoted and dot-separated path string is put into a function that handles also empty inputs properly
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 28 Dec 2021 17:28:19 +0100
parents e43db776f80a
children f71d34dda19f
line wrap: on
line diff
--- a/tests/_perf_config.py	Tue Dec 28 16:30:48 2021 +0100
+++ b/tests/_perf_config.py	Tue Dec 28 17:28:19 2021 +0100
@@ -29,20 +29,26 @@
 
 unquote = configmix.unquote
 quote = configmix.quote
+pathstr2path = configmix.pathstr2path
 
 cfg = configmix.load(os.path.join(TESTDATADIR, "conf_perf.py"))
 
+se = u""
+s1 = u"abc.def.hij"
+
 """
 
 
 num = 1000000
 num_quote = 1 * num
 
-if all or "quote" in opts or "unquote" in opts:
-    print("unquote/nothing/split: %.4f" % timeit.timeit('a = [unquote(vp) for vp in u"abc.def.hij".split(configmix.config._HIER_SEPARATOR)]', setup=setup, number=num_quote))
+if all or "quote" in opts or "unquote" in opts or "path" in opts:
+    print("unquote/nothing/split: %.4f" % timeit.timeit('a = tuple([unquote(vp) for vp in u"abc.def.hij".split(configmix.config._HIER_SEPARATOR)])', setup=setup, number=num_quote))
     print("unquote/yes/split: %.4f" % timeit.timeit('a = [unquote(vp) for vp in u"ab%x20.def.h%x2ej".split(configmix.config._HIER_SEPARATOR)]', setup=setup, number=num_quote))
     print("unquote/nothing/no-split: %.4f" % timeit.timeit('a = [unquote(vp) for vp in (u"abc," u"def", u"hij")]', setup=setup, number=num_quote))
     print("unquote/yes/no-split: %.4f" % timeit.timeit('a = [unquote(vp) for vp in (u"ab%x20", u"def", u"h%x2ej")]', setup=setup, number=num_quote))
+    print("pathstr2path/non-empty: %.4f" % timeit.timeit('a = pathstr2path(s1)', setup=setup, number=num_quote))
+    print("pathstr2path/empty: %.4f" % timeit.timeit('a = pathstr2path(se)', setup=setup, number=num_quote))    
     print("quote/nothing: %.4f" % timeit.timeit('a = [quote(vp) for vp in (u"abc", u"def", u"hij")]', setup=setup, number=num_quote))
     print("quote/yes: %.4f" % timeit.timeit('a = [quote(vp) for vp in (u"ab:c", u"def", u"h.ij")]', setup=setup, number=num_quote))
     print("="*50)