# HG changeset patch # User Franz Glasner # Date 1639822841 -3600 # Node ID 42935e4cb8d3fbc2bfe85d0a9645b2db79054fcf # Parent 402c7f5a2b76a620cb989b025dbb1c27a2734aed More detailed quoting/unquoting performance: with and without outer split diff -r 402c7f5a2b76 -r 42935e4cb8d3 tests/_perf_config.py --- a/tests/_perf_config.py Sat Dec 18 11:19:51 2021 +0100 +++ b/tests/_perf_config.py Sat Dec 18 11:20:41 2021 +0100 @@ -32,11 +32,14 @@ num = 1000000 +num_quote = 3*num -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("unquote/nothing/split: %.3f" % timeit.timeit('a = [unquote(vp) for vp in u"abc.def.hij".split(configmix.config._HIER_SEPARATOR)]', setup=setup, number=num_quote)) +print("unquote/yes/split: %.3f" % 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: %.3f" % timeit.timeit('a = [unquote(vp) for vp in (u"abc," u"def", u"hij")]', setup=setup, number=num_quote)) +print("unquote/yes/no-split: %.3f" % timeit.timeit('a = [unquote(vp) for vp in (u"ab%x20", u"def", u"h%x2ej")]', setup=setup, number=num_quote)) +print("quote/nothing: %.3f" % timeit.timeit('a = [quote(vp) for vp in (u"abc", u"def", u"hij")]', setup=setup, number=num_quote)) +print("quote/yes: %.3f" % timeit.timeit('a = [quote(vp) for vp in (u"ab:c", u"def", u"h.ij")]', setup=setup, number=num_quote)) print("="*78)