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