Mercurial > hg
view contrib/wix/README.txt @ 25527:262e6ad93885
phases: really fix native phase computation
For some reason (probably rebase issue, leprechaun or badly resolved .rej)
1635579f9baf contains only half of the emailed patches and do not fix the bug.
This patch adds the other half and enable the sweet native computation for real.
As expected this provide massive speedup along the board.
revset #0: not public()
plain first
0) 0.011960 0.010523
1) 0.000465 3% 0.000492 4%
revset #1: (tip~1000::) - public()
plain first
0) 0.025700 0.025169
1) 0.002864 11% 0.001899 7%
revset #2: not public() and branch("default")
plain first
0) 0.022842 0.020863
1) 0.011418 49% 0.010948 52%
However, it has a less impact (even bad) on first result time in simple
situation. This comes from the overhead of building the set and filtering it.
This is especially true on my Mercurial repository (used here) where about 1/3
of the changesets are non public and hidden. This could be mitigated by a
caching of the set and a better usage of smartset in '_notpublic'. (But this
won't happen in this patch because the win is massive everywhere else).
revset #0: not public()
last
0) 0.000081
1) 0.000493 x6.1 <-- bad impact
revset #1: (tip~1000::) - public()
last
0) 0.013966
1) 0.002737 19%
revset #2: not public() and branch("default")
last
0) 0.011021
1) 0.011038
The effect mostly disappear when the number of non-public changesets is small
and/or the repo get bigger. Result for Mozilla central:
Mozilla
revset #0: not public()
plain first last
0) 0.092787 0.084094 0.000080
1) 0.000054 0% 0.000083 0% 0.000083
revset #1: (tip~1000::) - public()
plain first last
0) 0.215607 0.183996 0.124962
1) 0.031620 14% 0.006616 3% 0.031168 24%
revset #2: not public() and branch("default")
plain first last
0) 0.092626 0.082687 0.000162
1) 0.000139 0% 0.000165 0% 0.000167
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 10 Jun 2015 19:26:16 -0700 |
parents | 98166640b356 |
children | 765f836a9484 |
line wrap: on
line source
WiX installer source files ========================== The files in this folder are used by the thg-winbuild [1] package building architecture to create a Mercurial MSI installer. These files are versioned within the Mercurial source tree because the WXS files must kept up to date with distribution changes within their branch. In other words, the default branch WXS files are expected to diverge from the stable branch WXS files. Storing them within the same repository is the only sane way to keep the source tree and the installer in sync. The MSI installer builder uses only the mercurial.ini file from the contrib/win32 folder, the contents of which have been historically used to create an InnoSetup based installer. The rest of the files there are ignored. The MSI packages built by thg-winbuild require elevated (admin) privileges to be installed due to the installation of MSVC CRT libraries under the C:\WINDOWS\WinSxS folder. Thus the InnoSetup installers may still be useful to some users. To build your own MSI packages, clone the thg-winbuild [1] repository and follow the README.txt [2] instructions closely. There are fewer prerequisites for a WiX [3] installer than an InnoSetup installer, but they are more specific. Direct questions or comments to Steve Borho <steve@borho.org> [1] http://bitbucket.org/tortoisehg/thg-winbuild [2] http://bitbucket.org/tortoisehg/thg-winbuild/src/tip/README.txt [3] http://wix.sourceforge.net/