Mercurial > hg
view contrib/wix/doc.wxs @ 35779:eefabd9ed3e1
convert: use a collections.deque
This function was doing a list.pop(0) on a list whose length
was the number of revisions to convert. Popping an early element
from long lists is not an efficient operation.
collections.deque supports efficient inserts and pops at both
ends. So we switch to that data structure.
When converting the mozilla-unified repository, which has 445,748
revisions, this change makes the "sorting..." step of
`hg convert --sourcesort` significantly faster:
before: ~59.2s
after: ~1.3s
Differential Revision: https://phab.mercurial-scm.org/D1934
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 21 Jan 2018 17:11:31 -0800 |
parents | bd9bc4123920 |
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="docFolder"> <ComponentRef Id="doc.hg.1.html" /> <ComponentRef Id="doc.hgignore.5.html" /> <ComponentRef Id="doc.hgrc.5.html" /> <ComponentRef Id="doc.style.css" /> </ComponentGroup> </Fragment> <Fragment> <DirectoryRef Id="INSTALLDIR"> <Directory Id="docdir" Name="doc" FileSource="$(var.SourceDir)"> <Component Id="doc.hg.1.html" Guid="$(var.doc.hg.1.html.guid)" Win64='$(var.IsX64)'> <File Name="hg.1.html" KeyPath="yes"> <Shortcut Id="hg1StartMenu" Directory="ProgramMenuDir" Name="Mercurial Command Reference" Icon="hgIcon.ico" IconIndex="0" Advertise="yes" /> </File> </Component> <Component Id="doc.hgignore.5.html" Guid="$(var.doc.hgignore.5.html.guid)" Win64='$(var.IsX64)'> <File Name="hgignore.5.html" KeyPath="yes"> <Shortcut Id="hgignore5StartMenu" Directory="ProgramMenuDir" Name="Mercurial Ignore Files" Icon="hgIcon.ico" IconIndex="0" Advertise="yes" /> </File> </Component> <Component Id="doc.hgrc.5.html" Guid="$(var.doc.hgrc.5.html)" Win64='$(var.IsX64)'> <File Name="hgrc.5.html" KeyPath="yes"> <Shortcut Id="hgrc5StartMenu" Directory="ProgramMenuDir" Name="Mercurial Configuration Files" Icon="hgIcon.ico" IconIndex="0" Advertise="yes" /> </File> </Component> <Component Id="doc.style.css" Guid="$(var.doc.style.css)" Win64='$(var.IsX64)'> <File Name="style.css" KeyPath="yes" /> </Component> </Directory> </DirectoryRef> </Fragment> </Wix>