Mercurial > hg-stable
view hg @ 37772:814151cd8c4a
logcmdutil: rewrite jsonchangeset printer to be backed by jsonformatter
This is a bit slower than the original implementation, but I don't think
that would actually matter. It's still faster than full templating.
$ hg log -Tjson -r0:5000 --time > /dev/null
(orig) time: real 1.550 secs (user 1.500+0.000 sys 0.040+0.000)
(new) time: real 1.810 secs (user 1.740+0.000 sys 0.070+0.000)
cf.
$ hg log -Tdefault -r0:5000 --time > /dev/null
time: real 4.980 secs (user 4.850+0.000 sys 0.130+0.000)
$ hg log -r0:5000 --time > /dev/null
time: real 2.340 secs (user 2.220+0.000 sys 0.100+0.000)
$ hg log -r0:5000 -q --time > /dev/null
time: real 0.750 secs (user 0.670+0.000 sys 0.070+0.000)
The test output changes because keys are sorted alphabetically.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Fri, 13 Apr 2018 22:47:14 +0900 |
parents | 163fa0aea71e |
children | 5e78c100a215 |
line wrap: on
line source
#!/usr/bin/env python # # mercurial - scalable distributed SCM # # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import import os import sys if os.environ.get('HGUNICODEPEDANTRY', False): try: reload(sys) sys.setdefaultencoding("undefined") except NameError: pass libdir = '@LIBDIR@' if libdir != '@' 'LIBDIR' '@': if not os.path.isabs(libdir): libdir = os.path.join(os.path.dirname(os.path.realpath(__file__)), libdir) libdir = os.path.abspath(libdir) sys.path.insert(0, libdir) # enable importing on demand to reduce startup time try: if sys.version_info[0] < 3 or sys.version_info >= (3, 6): import hgdemandimport; hgdemandimport.enable() except ImportError: sys.stderr.write("abort: couldn't find mercurial libraries in [%s]\n" % ' '.join(sys.path)) sys.stderr.write("(check your install and PYTHONPATH)\n") sys.exit(-1) from mercurial import dispatch dispatch.run()