[squeak-dev] Comparing benchmarks
Chris Muller
asqueaker at gmail.com
Wed Dec 18 00:36:00 UTC 2019
Benchmarking is ultimately about finding what performs best, and this
invariably involves a lot of manual benching, recording, and comparing of
different individual expressions. I've been wanting to optimize this
process for a long time, and today I finally took the time to spank out a
first draft of this new feature in Chronology-Core-cmm.52.
Here's an example inspired by my discovery about creating Dictionary's with
a pre-allocated size:
{ [Dictionary new].
[Dictionary new: 4]} benchCompare
answers an Array with corresponding measurements, along with an extra field
at the beginning:
{'[Dictionary new]'->'100% of baseline rate, 26,300,000 per second. 38.1
nanoseconds per run. 7.85843 % GC time.' .
'[Dictionary new: 4]'->'13% of baseline rate, 3,510,000 per second. 285
nanoseconds per run. 1.18 % GC time.'}"
The first one is the baseline, and so will always report "100%". The
subsequent ones are relative to that baseline.
Since this is a new feature, it won't make it into 5.3, but I would like
put this into trunk after the release. Please let me know your thoughts.
Best,
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191217/9337c6a7/attachment-0001.html>
More information about the Squeak-dev
mailing list
|