view contrib/wix/dist.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 95e042d77a5f
children a9c71d578a1c 5e1a91f693f0
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>
    <DirectoryRef Id="INSTALLDIR" FileSource="$(var.SourceDir)">
      <Component Id="distOutput" Guid="$(var.dist.guid)" Win64='$(var.IsX64)'>
        <File Name="python27.dll" KeyPath="yes" />
      </Component>
      <Directory Id="libdir" Name="lib" FileSource="$(var.SourceDir)/lib">
        <Component Id="libOutput" Guid="$(var.lib.guid)" Win64='$(var.IsX64)'>
          <File Name="library.zip" KeyPath="yes" />
          <File Name="mercurial.base85.pyd" />
          <File Name="mercurial.bdiff.pyd" />
          <File Name="mercurial.diffhelpers.pyd" />
          <File Name="mercurial.mpatch.pyd" />
          <File Name="mercurial.osutil.pyd" />
          <File Name="mercurial.parsers.pyd" />
          <File Name="pyexpat.pyd" />
          <File Name="bz2.pyd" />
          <File Name="select.pyd" />
          <File Name="unicodedata.pyd" />
          <File Name="_ctypes.pyd" />
          <File Name="_elementtree.pyd" />
          <File Name="_hashlib.pyd" />
          <File Name="_socket.pyd" />
          <File Name="_ssl.pyd" />
        </Component>
      </Directory>
    </DirectoryRef>
  </Fragment>

</Wix>