Mercurial > hg
annotate .hgignore @ 23031:3c0983cc279e
i18n: cache the result of every gettext call
In looking at profiler output for 'hg log' on mozilla-central, I
noticed we spent a _huge_ amount of time in gettext relative to what
it's doing. Caching provides a roughly 15% performance improvement
even on repositories as small as hg.
== hg repo on linux ==
Before:
% cumulative self
time seconds seconds name
5.05 0.19 0.19 i18n.py:62:gettext
4.84 0.18 0.18 revlog.py:88:decompress
2.95 0.17 0.11 changelog.py:201:node
2.32 0.09 0.09 ui.py:577:write
2.11 0.08 0.08 i18n.py:72:gettext
2.11 0.08 0.08 obsolete.py:196:_fm0readmarkers
1.89 0.07 0.07 obsolete.py:569:_load
1.68 0.63 0.06 localrepo.py:29:__get__
real 0m4.026s
user 0m3.993s
sys 0m0.034s
After:
% cumulative self
time seconds seconds name
8.05 0.26 0.26 revlog.py:88:decompress
2.68 0.22 0.09 color.py:395:write
2.20 0.07 0.07 obsolete.py:196:_fm0readmarkers
1.95 0.06 0.06 obsolete.py:174:_fm0readmarkers
1.95 0.06 0.06 ui.py:577:write
1.95 0.06 0.06 util.py:1228:datestr
1.71 0.06 0.06 utf_8.py:16:decode
1.71 0.06 0.06 revlog.py:273:__len__
real 0m3.519s
user 0m3.447s
sys 0m0.073s
== mozilla-central repo on linux ==
Before:
% cumulative self
time seconds seconds name
7.72 2.35 2.35 revlog.py:88:decompress
4.46 1.36 1.36 i18n.py:62:gettext
2.22 0.67 0.67 i18n.py:72:gettext
2.19 1.14 0.67 changelog.py:201:node
2.16 0.66 0.66 ui.py:577:write
1.96 0.60 0.60 utf_8.py:16:decode
1.93 1.97 0.59 color.py:395:write
1.85 0.81 0.56 changelog.py:136:tip
real 0m30.822s
user 0m30.660s
sys 0m0.149s
After:
% cumulative self
time seconds seconds name
9.82 2.49 2.49 revlog.py:88:decompress
2.67 1.31 0.68 localrepo.py:29:__get__
2.57 0.65 0.65 utf_8.py:16:decode
2.48 1.01 0.63 changelog.py:201:node
2.10 0.82 0.53 changelog.py:136:tip
2.01 0.51 0.51 ui.py:577:write
1.91 0.49 0.49 util.py:1232:datestr
1.85 1.65 0.47 color.py:395:write
real 0m25.619s
user 0m25.446s
sys 0m0.166s
== cpython repo on os x =
Before:
% cumulative self
time seconds seconds name
5.05 1.35 1.35 cmdutil.py:982:_show
4.59 1.22 1.22 revlog.py:274:__len__
3.98 1.06 1.06 i18n.py:62:gettext
3.91 1.04 1.04 revlog.py:1016:revision
3.68 0.98 0.98 revlog.py:337:parents
3.45 0.92 0.92 revlog.py:88:decompress
2.91 0.78 0.78 revlog.py:309:rev
2.62 0.70 0.70 revlog.py:1033:revision
real 0m30.414s
user 0m28.145s
sys 0m0.541s
After:
% cumulative self
time seconds seconds name
7.98 1.66 1.66 cmdutil.py:982:_show
6.83 1.42 1.42 changelog.py:46:decodeextra
5.18 1.08 1.08 revlog.py:274:__len__
3.94 0.82 0.82 revlog.py:1016:revision
3.41 0.71 0.71 revlog.py:309:rev
3.32 0.69 0.69 revlog.py:88:decompress
2.99 0.63 0.62 revlog.py:1033:revision
2.69 0.56 0.56 revlog.py:341:start
real 0m22.811s
user 0m21.883s
sys 0m0.397s
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Fri, 17 Oct 2014 13:52:10 -0400 |
parents | 3232f92360d4 |
children | a1eff44c432b |
rev | line source |
---|---|
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
1 syntax: glob |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
2 |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
3 *.elc |
19991
ce5d711475a3
Makefile: do update on a temporary copy of a po file
Simon Heimberg <simohe@besonet.ch>
parents:
19426
diff
changeset
|
4 *.tmp |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
5 *.orig |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
6 *.rej |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
7 *~ |
5019
e6cc4d4f5a81
Ignore mergebackup files generated by mpatch
Bryan O'Sullivan <bos@serpentine.com>
parents:
2987
diff
changeset
|
8 *.mergebackup |
2341
dbbe7f72d15a
contrib: add restricted shell.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2151
diff
changeset
|
9 *.o |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
10 *.so |
13643
537899158396
hgignore: ignore dll files generated under cygwin
Craig Leres <leres@ee.lbl.gov>
parents:
13346
diff
changeset
|
11 *.dll |
17115
b52d08b930c5
hgignore: simply ignore all *.exe's everywhere
Adrian Buehlmann <adrian@cadifra.com>
parents:
16537
diff
changeset
|
12 *.exe |
6551 | 13 *.pyd |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
14 *.pyc |
13346
91fe769ac84e
hgignore: ignore more bytecode
Simon Heimberg <simohe@besonet.ch>
parents:
11380
diff
changeset
|
15 *.pyo |
91fe769ac84e
hgignore: ignore more bytecode
Simon Heimberg <simohe@besonet.ch>
parents:
11380
diff
changeset
|
16 *$py.class |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
17 *.swp |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
18 *.prof |
17274
2426ec322cd1
hgignore: ignore zip files
Adrian Buehlmann <adrian@cadifra.com>
parents:
17115
diff
changeset
|
19 *.zip |
8147
441dc7becd43
win32text: be more careful about rejecting violating changesets
Bryan O'Sullivan <bos@serpentine.com>
parents:
7706
diff
changeset
|
20 \#*\# |
441dc7becd43
win32text: be more careful about rejecting violating changesets
Bryan O'Sullivan <bos@serpentine.com>
parents:
7706
diff
changeset
|
21 .\#* |
2068
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1817
diff
changeset
|
22 tests/.coverage* |
2151
0ce3cd330996
Ignore annotated coverage output of run-tests.py -C
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2068
diff
changeset
|
23 tests/annotated |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
24 tests/*.err |
15859
44a371823f83
tests: add htmlcov option
Markus Zapke-Gründemann <info@keimlink.de>
parents:
15702
diff
changeset
|
25 tests/htmlcov |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
26 build |
2341
dbbe7f72d15a
contrib: add restricted shell.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2151
diff
changeset
|
27 contrib/hgsh/hgsh |
21874
8da01b6e7b49
contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
21560
diff
changeset
|
28 contrib/vagrant/.vagrant |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
29 dist |
21560
a9e1ab2da30d
packaging: move output directory from build/ to packages/
Matt Mackall <mpm@selenic.com>
parents:
19991
diff
changeset
|
30 packages |
19426
e43184680461
doc: make man and html from translated documents
Takumi IINO <trot.thunder@gmail.com>
parents:
17732
diff
changeset
|
31 doc/common.txt |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
32 doc/*.[0-9] |
19426
e43184680461
doc: make man and html from translated documents
Takumi IINO <trot.thunder@gmail.com>
parents:
17732
diff
changeset
|
33 doc/*.[0-9].txt |
1817
e02fea13c69d
Ignore generated documentation
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1270
diff
changeset
|
34 doc/*.[0-9].gendoc.txt |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
35 doc/*.[0-9].{x,ht}ml |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
36 MANIFEST |
14560
0980239cb20c
hgignore: ignore MANIFEST.in (generated since 2ce7dfe17bc5)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14538
diff
changeset
|
37 MANIFEST.in |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
38 patches |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
39 mercurial/__version__.py |
17732
93d97a212559
exewrapper: adapt for legacy HackableMercurial
Adrian Buehlmann <adrian@cadifra.com>
parents:
17274
diff
changeset
|
40 mercurial/hgpythonlib.h |
11380
2bb6dbf04757
Ignore mercurial.egg-info build output
Lee Cantey <lcantey@gmail.com>
parents:
8147
diff
changeset
|
41 mercurial.egg-info |
2987
12d1475b48df
Ignore .DS_Store directories
Lee Cantey <lcantey@gmail.com>
parents:
2386
diff
changeset
|
42 .DS_Store |
5693
5d0b94d3ad0c
.hgignore += tags & cscope files
Kirill Smelkov <kirr@mns.spb.ru>
parents:
5622
diff
changeset
|
43 tags |
5d0b94d3ad0c
.hgignore += tags & cscope files
Kirill Smelkov <kirr@mns.spb.ru>
parents:
5622
diff
changeset
|
44 cscope.* |
22945
3232f92360d4
hgignore: ignore the PyCharm workspace folder
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
21874
diff
changeset
|
45 .idea/* |
7648
02e358a3a8a7
i18n: let Makefile generate i18n/hg.pot
Martin Geisler <mg@daimi.au.dk>
parents:
7439
diff
changeset
|
46 i18n/hg.pot |
7649
a489e3a94443
i18n: new build_mo command for setup.py
Martin Geisler <mg@daimi.au.dk>
parents:
7648
diff
changeset
|
47 locale/*/LC_MESSAGES/hg.mo |
14538
3818c67a501e
setup: add command to generate index of extensions
Yuya Nishihara <yuya@tcha.org>
parents:
13643
diff
changeset
|
48 hgext/__index__.py |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
49 |
7706
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7649
diff
changeset
|
50 # files installed with a local --pure build |
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7649
diff
changeset
|
51 mercurial/base85.py |
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7649
diff
changeset
|
52 mercurial/bdiff.py |
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7649
diff
changeset
|
53 mercurial/diffhelpers.py |
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7649
diff
changeset
|
54 mercurial/mpatch.py |
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7649
diff
changeset
|
55 mercurial/osutil.py |
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7649
diff
changeset
|
56 mercurial/parsers.py |
0ae7f0b312ea
use PURE option in Makefile
Martin Geisler <mg@daimi.au.dk>
parents:
7649
diff
changeset
|
57 |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
58 syntax: regexp |
794
cdf61d3d3904
Ignore test error files, protect dot in .pc/
Thomas Arendsen Hein <thomas@intevation.de>
parents:
740
diff
changeset
|
59 ^\.pc/ |
7439
7dd44ad43914
Ignore eclipse droppings
Brendan Cully <brendan@kublai.com>
parents:
6551
diff
changeset
|
60 ^\.(pydev)?project |
15702
64a80204433f
ignore: add files present in the hackable-hg windows distribution
Laurens Holst <laurens.hg@grauw.nl>
parents:
14560
diff
changeset
|
61 |
64a80204433f
ignore: add files present in the hackable-hg windows distribution
Laurens Holst <laurens.hg@grauw.nl>
parents:
14560
diff
changeset
|
62 # hackable windows distribution additions |
16537
5068d0974278
update .hgignore for hackable with Python 2.7
Mads Kiilerich <mads@kiilerich.com>
parents:
15859
diff
changeset
|
63 ^hg-python |
15702
64a80204433f
ignore: add files present in the hackable-hg windows distribution
Laurens Holst <laurens.hg@grauw.nl>
parents:
14560
diff
changeset
|
64 ^hg.py$ |