# HG changeset patch # User Bryan O'Sullivan # Date 1337103857 25200 # Node ID 7e5d94381cd1799fe8895f2ed9df4771c3f1b1ed # Parent f694ab54b66097ce96a9fa22c0869abcca3182cc perf: add a perfancestors benchmark diff -r f694ab54b660 -r 7e5d94381cd1 contrib/perf.py --- a/contrib/perf.py Wed May 30 14:31:51 2012 -0500 +++ b/contrib/perf.py Tue May 15 10:44:17 2012 -0700 @@ -71,6 +71,13 @@ return len(repo.tags()) timer(t) +def perfancestors(ui, repo): + heads = repo.changelog.headrevs() + def d(): + for a in repo.changelog.ancestors(*heads): + pass + timer(d) + def perfdirstate(ui, repo): "a" in repo.dirstate def d(): @@ -226,6 +233,7 @@ 'perfindex': (perfindex, []), 'perfheads': (perfheads, []), 'perftags': (perftags, []), + 'perfancestors': (perfancestors, []), 'perfdirstate': (perfdirstate, []), 'perfdirstatedirs': (perfdirstate, []), 'perfdirstatewrite': (perfdirstatewrite, []),