Mercurial > hg
annotate contrib/wix/guids.wxi @ 26945:8a256cee72c8 stable
tags: create new sortdict for performance reasons
sortdict internally maintains a list of keys in insertion order. When a
key is replaced via __setitem__, we .remove() from this list. This
involves a linear scan and array adjustment. This is an expensive
operation.
The tags reading code was calling into sortdict.__setitem__ for each tag
in a read .hgtags revision. For repositories with thousands of tags or
thousands of .hgtags revisions, the overhead from list.remove()
noticeable.
This patch creates a new sortdict() so __setitem__ calls don't incur a
list.remove.
This doesn't appear to have any performance impact on my Firefox
repository. But that's only because tags reading doesn't show up in
profiles to begin with. I'm still waiting to hear from a user with over
10,000 tags and hundreds of heads on the impact of this patch.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 12 Nov 2015 13:16:04 -0800 |
parents | 95e042d77a5f |
children | e9857fbfd072 |
rev | line source |
---|---|
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
1 <Include> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
2 <!-- These are component GUIDs used for Mercurial installers. |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
3 YOU MUST CHANGE ALL GUIDs below when copying this file |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
4 and replace 'Mercurial' in this notice with the name of |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
5 your project. Component GUIDs have global namespace! --> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
6 |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
7 <!-- contrib.wxs --> |
22445
5716d10e89e7
wix: contrib/sample.hgrc is no more
Steve Borho <steve@borho.org>
parents:
20315
diff
changeset
|
8 <?define contrib.guid = {4E11FFC2-E2F7-482A-8460-9394B5489F02} ?> |
12792
0c6c600c03fd
wix: add vim syntax file for Mercurial unit tests
Steve Borho <steve@borho.org>
parents:
12791
diff
changeset
|
9 <?define contrib.vim.guid = {BB04903A-652D-4C4F-9590-2BD07A2304F2} ?> |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
10 |
13041
79388a8325dc
wix: switch Mercurial Windows installer to use py2exe --bundle 3
Steve Borho <steve@borho.org>
parents:
12830
diff
changeset
|
11 <!-- dist.wxs --> |
25409
95e042d77a5f
wix: move library.zip and all *.pyd into a lib/ folder
Steve Borho <steve@borho.org>
parents:
24989
diff
changeset
|
12 <?define dist.guid = {CE405FE6-CD1E-4873-9C9A-7683AE5A3D90} ?> |
95e042d77a5f
wix: move library.zip and all *.pyd into a lib/ folder
Steve Borho <steve@borho.org>
parents:
24989
diff
changeset
|
13 <?define lib.guid = {91D53B14-E924-432A-ACA2-65F9B3F7C56A} ?> |
13041
79388a8325dc
wix: switch Mercurial Windows installer to use py2exe --bundle 3
Steve Borho <steve@borho.org>
parents:
12830
diff
changeset
|
14 |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
15 <!-- doc.wxs --> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
16 <?define doc.hg.1.html.guid = {AAAA3FDA-EDC5-4220-B59D-D342722358A2} ?> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
17 <?define doc.hgignore.5.html.guid = {AA9118C4-F3A0-4429-A5F4-5A1906B2D67F} ?> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
18 <?define doc.hgrc.5.html = {E0CEA1EB-FA01-408c-844B-EE5965165BAE} ?> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
19 <?define doc.style.css = {172F8262-98E0-4711-BD39-4DAE0D77EF05} ?> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
20 |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
21 <!-- help.wxs --> |
16220
939f043ab5ed
wix: add phases help text and two more translations (issue 3288)
Steve Borho <steve@borho.org>
parents:
15764
diff
changeset
|
22 <?define helpFolder.guid = {9FA957DB-6DFE-44f2-AD03-293B2791CF17} ?> |
19023
86531a7038ed
codingstyle: remove trailing spaces in various text files
Mads Kiilerich <madski@unity3d.com>
parents:
17420
diff
changeset
|
23 |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
24 <!-- i18n.wxs --> |
16220
939f043ab5ed
wix: add phases help text and two more translations (issue 3288)
Steve Borho <steve@borho.org>
parents:
15764
diff
changeset
|
25 <?define i18nFolder.guid = {1BF8026D-CF7C-4174-AEE6-D6B7BF119248} ?> |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
26 |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
27 <!-- templates.wxs --> |
20315 | 28 <?define templates.root.guid = {437FD55C-7756-4EA0-87E5-FDBE75DC8595} ?> |
29 <?define templates.atom.guid = {D30E14A5-8AF0-4268-8B00-00BEE9E09E39} ?> | |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
30 <?define templates.coal.guid = {B63CCAAB-4EAF-43b4-901E-4BD13F5B78FC} ?> |
17420
d79df9fd5374
wix: pick up new template files
Steve Borho <steve@borho.org>
parents:
16220
diff
changeset
|
31 <?define templates.gitweb.guid = {827334AF-1EFD-421B-962C-5660A068F612} ?> |
24989
3098dcd2d167
wix: add new json templates folder to MSI installers
Steve Borho <steve@borho.org>
parents:
24839
diff
changeset
|
32 <?define templates.json.guid = {F535BE7A-EC34-46E0-B9BE-013F3DBAFB19} ?> |
17420
d79df9fd5374
wix: pick up new template files
Steve Borho <steve@borho.org>
parents:
16220
diff
changeset
|
33 <?define templates.monoblue.guid = {8060A1E4-BD4C-453E-92CB-9536DC44A9E3} ?> |
d79df9fd5374
wix: pick up new template files
Steve Borho <steve@borho.org>
parents:
16220
diff
changeset
|
34 <?define templates.paper.guid = {61AB1DE9-645F-46ED-8AF8-0CF02267FFBB} ?> |
20315 | 35 <?define templates.raw.guid = {834DF8D7-9784-43A6-851D-A96CE1B3575B} ?> |
36 <?define templates.rss.guid = {9338FA09-E128-4B1C-B723-1142DBD09E14} ?> | |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
37 <?define templates.spartan.guid = {80222625-FA8F-44b1-86CE-1781EF375D09} ?> |
20315 | 38 <?define templates.static.guid = {6B3D7C24-98DA-4B67-9F18-35F77357B0B4} ?> |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
39 |
10930 | 40 <!-- mercurial.wxs --> |
41 <?define ProductUpgradeCode = {A1CC6134-E945-4399-BE36-EB0017FDF7CF} ?> | |
42 | |
43 <?define ComponentMainExecutableGUID = {D102B8FA-059B-4ACC-9FA3-8C78C3B58EEF} ?> | |
44 | |
45 <?define ReadMe.guid = {56A8E372-991D-4DCA-B91D-93D775974CF5} ?> | |
46 <?define COPYING.guid = {B7801DBA-1C49-4BF4-91AD-33C65F5C7895} ?> | |
47 <?define mercurial.rc.guid = {1D5FAEEE-7E6E-43B1-9F7F-802714316B15} ?> | |
48 <?define mergetools.rc.guid = {E8A1DC29-FF40-4B5F-BD12-80B9F7BF0CCD} ?> | |
49 <?define ProgramMenuDir.guid = {D5A63320-1238-489B-B68B-CF053E9577CA} ?> | |
50 | |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff
changeset
|
51 </Include> |