Mercurial > hg
annotate contrib/macosx/Welcome.html @ 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 | 4b0fc75f9403 |
children | 7794e13c6a7e |
rev | line source |
---|---|
1686
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
4723
fb4b6d5fe100
Update binary installer files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
3863
diff
changeset
|
2 <!-- This is the second screen displayed during the install. --> |
1686
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
3 <html> |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
4 <head> |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
6 <meta http-equiv="Content-Style-Type" content="text/css"> |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
7 <title></title> |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
8 <style type="text/css"> |
2681
259acfb963d1
Update Windows and Mac installers to 0.9.1 release
Lee Cantey <lcantey@gmail.com>
parents:
2516
diff
changeset
|
9 p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Helvetica} |
1686
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
10 p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px} |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
11 </style> |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
12 </head> |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
13 <body> |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
8936
diff
changeset
|
14 <p class="p1">This is a prepackaged release of <a href="https://mercurial-scm.org/">Mercurial</a> for Mac OS X.</p> |
1686
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
15 <p class="p2"><br></p> |
2681
259acfb963d1
Update Windows and Mac installers to 0.9.1 release
Lee Cantey <lcantey@gmail.com>
parents:
2516
diff
changeset
|
16 <br> |
3863
1ef8ada4370f
Remove hard-coded version numbers and release notes from packaging
Matt Mackall <mpm@selenic.com>
parents:
2681
diff
changeset
|
17 <p> |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
8936
diff
changeset
|
18 Please be sure to read the latest <a href="https://mercurial-scm.org/wiki/WhatsNew">release notes</a>.</p> |
1686
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
19 </body> |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
20 </html> |