##// END OF EJS Templates
revset: improve performance of _generatorset.__contains__ (issue 4201)...
revset: improve performance of _generatorset.__contains__ (issue 4201) _generatorset.__contains__ and __contains__ from child classes were calling into __iter__ to look for values. Since all previously-encountered values from the generator were cached and checked in __contains__ before this iteration, __contains__ was effectively performing iteration busy work which could lead to an explosion of redundant work. This patch changes __contains__ to be more intelligent. Instead of looking at all values via __iter__, __contains__ will instead go straight to "new" values from the underlying generator. On a clone of the Firefox repository with around 200,000 changesets, this patch decreases the execution time of the revset '::(200067)::' from ~100s to ~4s on the author's machine. Rebase operations (which use the aforementioned revset), speed up accordingly.

File last commit:

r16220:939f043a stable
r20828:3210b793 default
Show More
help.wxs
34 lines | 1.1 KiB | text/plain | TextLexer
<?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">
<Directory Id="helpdir" Name="help" FileSource="$(var.SourceDir)">
<Component Id="helpFolder" Guid="$(var.helpFolder.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="subrepos.txt" />
<File Name="templates.txt" />
<File Name="urls.txt" />
</Component>
</Directory>
</DirectoryRef>
</Fragment>
</Wix>