
On Wed, Oct 19, 2011 at 10:13 AM, Kazu Yamamoto
Hello,
I'm measuring performance of the insertion operation of red-black trees. For input, three kinds of [Int] are prepared: the increasing the order, decreasing order, and random.
The random case is 4 or 5 times slower than the others. I'm afraid that my program also measured the cost of random Int generation.
My benchmark code can be found:
https://github.com/kazu-yamamoto/llrbtree/blob/master/bench/insert/Bench.hs
Does anyone kindly take a look and tell me whether or not my criterion code measures the cost of random Int generation? If so, would you suggest how to avoid it?
The code looks ok to me -- you've deepseq'ed the list, and forcing it
to whnf should force the deepseq. Also, criterion runs your benchmark
many times, if your code was measuring the RNG time it would only
happen once. This would show up in the criterion output as an
unusually large outlier.
G
--
Gregory Collins