[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] nvm.experiment.pcre - boost::regex replacement - ready
From: |
Zack Weinberg |
Subject: |
[Monotone-devel] nvm.experiment.pcre - boost::regex replacement - ready for inclusion, + 2 subbranches |
Date: |
Wed, 3 Jan 2007 18:33:28 -0800 |
I'm pleased to opine that with the stuff I just pushed,
nvm.experiment.pcre is ready for inclusion. To recap, PCRE is a
regular expression library suitable to replace our use of
boost::regex, which is six times larger and significantly slower. [I
tested this by cranking up the iteration count on the
packet.roundabout unit test to 10000, then running that unit test 100
times. Mean wall time with boost::regex, 13.91s; mean with PCRE,
12.80s; t = 12.93, p < 0.05.]
In addition, there are two subbranches of nvm.experiment.pcre on which
I would appreciate comments .precomp adds precompilation of regexes:
that is, regexes that are constant at compile time of Monotone can be
compiled to the PCRE internal representation then. This gives an
additional small, not-quite-significant speedup on the above test
(mean 12.70, t = 1.14, p ~= 0.2). I am not exactly proud of pcrepc.cc
and would appreciate suggestions on how to do it better, especially
the parsing part.
.ignored uses the new functionality to replace the Lua-ful ignore
handling, which has been reported as a bottleneck for some operations.
Again, I'm not exactly proud of my file I/O and would appreciate
suggestions on how to do it better. I don't consider this branch even
close to done; if we're going to mess with ignore handling, it should
be messed with quite a bit more. See the comments above
initialize_ignore_set in restrictions.cc.
zw
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-devel] nvm.experiment.pcre - boost::regex replacement - ready for inclusion, + 2 subbranches,
Zack Weinberg <=