[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