comparison setup.py @ 39210:1ddb296e0dee

fastannotate: initial import from Facebook's hg-experimental I made as few changes as I could to get the tests to pass, but this was a bit involved due to some churn in the blame code since someone last gave fastannotate any TLC. There's still follow-up work here to rip out support for old versions of hg and to integrate the protocol with modern standards. Some performance numbers (all on my 2016 MacBook Pro with a 2.6Ghz i7): Mercurial mercurial/manifest.py traditional blame time: real 1.050 secs (user 0.990+0.000 sys 0.060+0.000) build cache time: real 5.900 secs (user 5.720+0.000 sys 0.110+0.000) fastannotate time: real 0.120 secs (user 0.100+0.000 sys 0.020+0.000) Mercurial mercurial/localrepo.py traditional blame time: real 3.330 secs (user 3.220+0.000 sys 0.070+0.000) build cache time: real 30.610 secs (user 30.190+0.000 sys 0.230+0.000) fastannotate time: real 0.180 secs (user 0.160+0.000 sys 0.020+0.000) mozilla-central dom/ipc/ContentParent.cpp traditional blame time: real 7.640 secs (user 7.210+0.000 sys 0.380+0.000) build cache time: real 98.650 secs (user 97.000+0.000 sys 0.950+0.000) fastannotate time: real 1.580 secs (user 1.340+0.000 sys 0.240+0.000) mozilla-central dom/base/nsDocument.cpp traditional blame time: real 17.110 secs (user 16.490+0.000 sys 0.500+0.000) build cache time: real 399.750 secs (user 394.520+0.000 sys 2.610+0.000) fastannotate time: real 1.780 secs (user 1.530+0.000 sys 0.240+0.000) So building the cache is expensive (but might be faster with xdiff enabled), but the blame results are *way* faster. Differential Revision: https://phab.mercurial-scm.org/D3994
author Augie Fackler <augie@google.com>
date Mon, 30 Jul 2018 22:50:00 -0400
parents dbbe45ae5ad1
children 729082bb9938
comparison
equal deleted inserted replaced
39209:1af95139e5ec 39210:1ddb296e0dee
816 'mercurial.thirdparty.concurrent.futures', 816 'mercurial.thirdparty.concurrent.futures',
817 'mercurial.thirdparty.zope', 817 'mercurial.thirdparty.zope',
818 'mercurial.thirdparty.zope.interface', 818 'mercurial.thirdparty.zope.interface',
819 'mercurial.utils', 819 'mercurial.utils',
820 'hgext', 'hgext.convert', 'hgext.fsmonitor', 820 'hgext', 'hgext.convert', 'hgext.fsmonitor',
821 'hgext.fastannotate',
821 'hgext.fsmonitor.pywatchman', 822 'hgext.fsmonitor.pywatchman',
822 'hgext.infinitepush', 823 'hgext.infinitepush',
823 'hgext.highlight', 824 'hgext.highlight',
824 'hgext.largefiles', 'hgext.lfs', 'hgext.narrow', 825 'hgext.largefiles', 'hgext.lfs', 'hgext.narrow',
825 'hgext.zeroconf', 'hgext3rd', 826 'hgext.zeroconf', 'hgext3rd',