[PATCH 0 of 3] Fast implemenation of parseindex in C
Matt Mackall
mpm at selenic.com
Mon Oct 6 15:59:05 CDT 2008
On Sun, 2008-09-21 at 22:24 +0200, Bernhard Leiner wrote:
> 2008/9/19 Matt Mackall <mpm at selenic.com>:
> > The trick is you're supposed to add your own revlog timing test to the
> > test harness.
>
> Ok, here is the perf extension with a new perfparseindex test.
>
> parseindex implementation in C:
> ! wall 0.032150 comb 0.030000 user 0.020000 sys 0.010000 (best of 100)
> vs. hg-stable:
> ! wall 0.065412 comb 0.060000 user 0.050000 sys 0.010000 (best of 100)
(sorry, digging through mail backlog)
Hmm, that's not as good as I hoped, but a good start! I was hoping to
see something like 5x when we got around to doing this. Perhaps there
are some more optimization opportunities.. In particular, Py_BuildObject
is quite helpful.
It'd also be interesting to know what happens for very large indexes.
I'd rather like to do away with the lazy parsing as it's quite slow, but
it's also quite useful in the 20k-1M entry range. If we got to be about
an order of magnitude faster, lazy parsing would be much less important.
I'll fold your new test into my harness, thanks.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list