[squeak-dev] Performance issue initializing new Dictionary's
Chris Muller
asqueaker at gmail.com
Tue Dec 17 22:02:00 UTC 2019
Hi all,
I just noticed that attempting to optimize the creation of a Dictionary or
OrderedDictionary by specifying a pre-allocated size, actually slows the
system down more than not using this optimization. In trunk, see?
[Dictionary new] bench. '26,300,000 per second. 38.1 nanoseconds per
run. 9.21816 % GC time.'
[Dictionary new: 4] bench. '3,560,000 per second. 281 nanoseconds per
run. 2.41952 % GC time.'
So then I tried to debug it to see why, and I couldn't without my
Tools-cmm.926 patch currently in the Inbox for review.
Dictionary new: 4 "try to debug-it and step into"
The whole purpose of #new: over #new is to increase the performance of
allocation when the minimum size is known in advance, but we seem to have
killed this goal by the cost of #goodPrimeAtLeast:. Levente?
Best,
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20191217/b82f89e2/attachment.html>
More information about the Squeak-dev
mailing list
|