Mercurial > hg
diff mercurial/treediscovery.py @ 40152:adbf8ca239e4
revlog: optimize ancestors() to not check filtered revisions for each
While reviewing the Rust implementation, I noticed iter(ancestors) doesn't
need to check filtering state for each parent revision. And doing that appears
to have some measurable perf win.
$ hg perfancestors -R mercurial
(orig) wall 0.038093 comb 0.040000 user 0.040000 sys 0.000000 (best of 100)
(this) wall 0.024795 comb 0.020000 user 0.020000 sys 0.000000 (best of 117)
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Fri, 12 Oct 2018 06:22:43 +0200 |
parents | e7aa113b14f7 |
children | 2372284d9457 |