Mercurial > hgrepos > Python > libs > ConfigMix
diff tests/_perf_config.py @ 550:79db28e879f8
Provide a C-implementation of configmix.config.quote() also: fast_quote
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 02 Jan 2022 02:04:07 +0100 |
| parents | 491413368c7c |
| children | 75ecbe07abff |
line wrap: on
line diff
--- a/tests/_perf_config.py Sun Jan 02 01:00:10 2022 +0100 +++ b/tests/_perf_config.py Sun Jan 02 02:04:07 2022 +0100 @@ -16,20 +16,22 @@ all = not opts or "all" in opts try: - from configmix.config import fast_unquote, fast_pathstr2path, _fast_split_ns + from configmix.config import fast_unquote, fast_quote, \ + fast_pathstr2path, _fast_split_ns except ImportError: - fast_unquote = fast_pathstr2path = _fast_split_ns = None + fast_unquote = fast_quote = fast_pathstr2path = _fast_split_ns = None setup = """ import os import configmix -from configmix.config import _HIER_SEPARATOR, quote, py_pathstr2path, \ - py_unquote, _py_split_ns +from configmix.config import _HIER_SEPARATOR, \ + py_quote, py_unquote, py_pathstr2path, \ + _py_split_ns try: - from configmix.config import fast_unquote, fast_pathstr2path, _fast_split_ns + from configmix.config import fast_unquote, fast_quote, fast_pathstr2path, _fast_split_ns except ImportError: - fast_unquote = fast_pathstr2path = _fast_split_ns = None + fast_unquote = fast_quote = fast_pathstr2path = _fast_split_ns = None TESTDATADIR = os.path.join( os.path.abspath(os.path.dirname(configmix.__file__)), @@ -64,8 +66,12 @@ if fast_pathstr2path: print("fast-pathstr2path/non-empty: %.4f" % timeit.timeit('a = fast_pathstr2path(s1)', setup=setup, number=num_quote)) print("fast-pathstr2path/empty: %.4f" % timeit.timeit('a = fast_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("quote/nothing: %.4f" % timeit.timeit('a = [py_quote(vp) for vp in (u"abc", u"def", u"hij")]', setup=setup, number=num_quote)) + print("quote/yes: %.4f" % timeit.timeit('a = [py_quote(vp) for vp in (u"ab:c", u"def", u"h.ij")]', setup=setup, number=num_quote)) + if fast_quote: + print("fast-quote/nothing: %.4f" % timeit.timeit('a = [fast_quote(vp) for vp in (u"abc", u"def", u"hij")]', setup=setup, number=num_quote)) + print("fast-quote/yes: %.4f" % timeit.timeit('a = [fast_quote(vp) for vp in (u"ab:c", u"def", u"h.ij")]', setup=setup, number=num_quote)) + print("split-ns/no-ns: %.4f" % timeit.timeit('a = _py_split_ns(s1)', setup=setup, number=num_quote)) print("split-ns/ns: %.4f" % timeit.timeit('a = _py_split_ns(ns_s1)', setup=setup, number=num_quote)) if _fast_split_ns:
