D4346: hg: wrap the highest layer in the `hg` script possible in trace event
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Tue Aug 21 21:39:54 UTC 2018
durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
This should help us have a better idea of what "interpreter startup
costs" look like.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4346
AFFECTED FILES
hg
CHANGE DETAILS
diff --git a/hg b/hg
--- a/hg
+++ b/hg
@@ -11,31 +11,33 @@
import os
import sys
-if os.environ.get('HGUNICODEPEDANTRY', False):
- try:
- reload(sys)
- sys.setdefaultencoding("undefined")
- except NameError:
- pass
+from hgdemandimport import tracing
+with tracing.log('hg script'):
+ if os.environ.get('HGUNICODEPEDANTRY', False):
+ try:
+ reload(sys)
+ sys.setdefaultencoding("undefined")
+ except NameError:
+ pass
-libdir = '@LIBDIR@'
+ 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)
+ 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)
+ # 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()
+ from mercurial import dispatch
+ dispatch.run()
To: durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list