Mercurial > hg
view contrib/wix/contrib.wxs @ 30795:78ac56aebab6
revlog: use compression engine API for compression
This commit swaps in the just-added revlog compressor API into
the revlog class.
Instead of implementing zlib compression inline in compress(), we
now store a cached-on-first-use revlog compressor on each revlog
instance and invoke its "compress()" method.
As part of this, revlog.compress() has been refactored a bit to use
a cleaner code flow and modern formatting (e.g. avoiding
parenthesis around returned tuples).
On a mozilla-unified repo, here are the "compress" times for a few
commands:
$ hg perfrevlogchunks -c
! wall 5.772450 comb 5.780000 user 5.780000 sys 0.000000 (best of 3)
! wall 5.795158 comb 5.790000 user 5.790000 sys 0.000000 (best of 3)
$ hg perfrevlogchunks -m
! wall 9.975789 comb 9.970000 user 9.970000 sys 0.000000 (best of 3)
! wall 10.019505 comb 10.010000 user 10.010000 sys 0.000000 (best of 3)
Compression times did seem to slow down just a little. There are
360,210 changelog revisions and 359,342 manifest revisions. For the
changelog, mean time to compress a revision increased from ~16.025us to
~16.088us. That's basically a function call or an attribute lookup. I
suppose this is the price you pay for abstraction. It's so low that
I'm not concerned.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 02 Jan 2017 11:22:52 -0800 |
parents | 5716d10e89e7 |
children |
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="contribFolder"> <ComponentRef Id="contrib" /> <ComponentRef Id="contrib.vim" /> </ComponentGroup> </Fragment> <Fragment> <DirectoryRef Id="INSTALLDIR"> <Directory Id="contribdir" Name="contrib" FileSource="$(var.SourceDir)"> <Component Id="contrib" Guid="$(var.contrib.guid)" Win64='$(var.IsX64)'> <File Name="bash_completion" KeyPath="yes" /> <File Name="hgk" /> <File Name="hgweb.fcgi" /> <File Name="hgweb.wsgi" /> <File Name="logo-droplets.svg" /> <File Name="mercurial.el" /> <File Name="tcsh_completion" /> <File Name="tcsh_completion_build.sh" /> <File Name="xml.rnc" /> <File Name="zsh_completion" /> </Component> <Directory Id="vimdir" Name="vim"> <Component Id="contrib.vim" Guid="$(var.contrib.vim.guid)" Win64='$(var.IsX64)'> <File Name="hg-menu.vim" KeyPath="yes" /> <File Name="HGAnnotate.vim" /> <File Name="hgcommand.vim" /> <File Name="patchreview.txt" /> <File Name="patchreview.vim" /> <File Name="hgtest.vim" /> </Component> </Directory> </Directory> </DirectoryRef> </Fragment> </Wix>