On 29/01/13 21:14, Rob Vesse wrote:
Comments inline:
On 1/29/13 6:42 PM, "Andy Seaborne" <[email protected]> wrote:
The performance test isn't stable - I added a static BeforeClass to warm
the JIT which partially helped. It gave stability but some tests are
failing with the PrefixMapStd now of roughly comparable speed :-|
The performance test is commented out ATM because of the residual
instability and failures. This may be machine dependent.
Yes I had a lot of issues with instability of the performance tests, I
kept adding and removing them and trying to tweak them but yes they are
unstable and somewhat machine dependent.
If the two implementations are comparable then that is a good thing. To
be honest now it looks like PrefixMapStd will likely outperform
FastAbbreviatingPrefixMap for the common use case since the single map
lookup in the extra map is likely faster than the Trie lookup in most
cases :-S
Maybe we should be making PrefixMapStd the default implementation for
output as well now? I may do some more experimenting to try and
characterize whether one is better than another in certain cases.
I'd leave it as-is. The fastpath in PrefixMapStd only covers some cases
(copied from earlier FastAbbreviatingPrefixMap code!) and the Trie is
more general now.
Changing the size of the warm-up changes the test results ... but not in
a simple way. Large N for warm-up may favour one over the other but
increasing N again can reverse the result.
Andy