D6422: copies: avoid calling matcher if matcher.always()
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Fri May 24 07:17:24 EDT 2019
marmoute added a comment.
(I did some experiment, here seems a good spot to report them)
I build a crude cache (cbor based storage) for the data that needs caching after this series and tested it against my pypy test case.
filelog-based: 15s
compatibility mode; without cache: 75s
compatibility mode; caching copies without this series: 60s
compatibility mode; caching copies with this series: 40s
compatibility mode; caching all data with this series: 7s (65% spend parsing cbor cache data)
This is much promissing, even if need to check on more diverse cases (various factor can influence performance: number of considered file, number of changeset traversed, number of intermediate version, etc).
The timing above is enough motivation for me to look seriously into a caching/alternative storage plan.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6422
To: martinvonz, #hg-reviewers
Cc: marmoute, mercurial-devel
More information about the Mercurial-devel
mailing list