Mercurial > hg
view contrib/wix/help.wxs @ 30289:1f92056c4066
revlog: optimize _chunkraw when startrev==endrev
In many cases, _chunkraw() is called with startrev==endrev. When
this is true, we can avoid an extra index lookup and some other
minor operations.
On the mozilla-unified repo, `hg perfrevlogchunks -c` says this
has the following impact:
! read w/ reused fd
! wall 0.371846 comb 0.370000 user 0.350000 sys 0.020000 (best of 27)
! wall 0.337930 comb 0.330000 user 0.300000 sys 0.030000 (best of 30)
! read batch w/ reused fd
! wall 0.014952 comb 0.020000 user 0.000000 sys 0.020000 (best of 197)
! wall 0.014866 comb 0.010000 user 0.000000 sys 0.010000 (best of 196)
So, we've gone from ~25x slower than batch to ~22.5x slower.
At this point, there's probably not much else we can do except
implement an optimized function in the index itself, including in C.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 23 Oct 2016 10:40:33 -0700 |
parents | a1092e2d70a3 |
children | 66cffa87d2f2 |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <?include guids.wxi ?> <?include defines.wxi ?> <Fragment> <ComponentGroup Id='helpFolder'> <ComponentRef Id='help.root' /> <ComponentRef Id='help.internals' /> </ComponentGroup> </Fragment> <Fragment> <DirectoryRef Id="INSTALLDIR"> <Directory Id="helpdir" Name="help" FileSource="$(var.SourceDir)"> <Component Id="help.root" Guid="$(var.help.root.guid)" Win64='$(var.IsX64)'> <File Name="config.txt" KeyPath="yes" /> <File Name="dates.txt" /> <File Name="diffs.txt" /> <File Name="environment.txt" /> <File Name="extensions.txt" /> <File Name="filesets.txt" /> <File Name="glossary.txt" /> <File Name="hgignore.txt" /> <File Name="hgweb.txt" /> <File Name="merge-tools.txt" /> <File Name="multirevs.txt" /> <File Name="patterns.txt" /> <File Name="phases.txt" /> <File Name="revisions.txt" /> <File Name="revsets.txt" /> <File Name="scripting.txt" /> <File Name="subrepos.txt" /> <File Name="templates.txt" /> <File Name="urls.txt" /> </Component> <Directory Id="help.internaldir" Name="internals"> <Component Id="help.internals" Guid="$(var.help.internals.guid)" Win64='$(var.IsX64)'> <File Id="internals.bundles.txt" Name="bundles.txt" KeyPath="yes" /> <File Id="internals.changegroups.txt" Name="changegroups.txt" /> <File Id="internals.requirements.txt" Name="requirements.txt" /> <File Id="internals.revlogs.txt" Name="revlogs.txt" /> <File Id="internals.wireprotocol.txt" Name="wireprotocol.txt" /> </Component> </Directory> </Directory> </DirectoryRef> </Fragment> </Wix>