[squeak-dev] The Inbox: Collections-cmm.874.mcz
Chris Muller
asqueaker at gmail.com
Sat Jan 25 01:13:23 UTC 2020
On Fri, Jan 24, 2020 at 6:19 PM Levente Uzonyi <leves at caesar.elte.hu> wrote:
> Hi Chris,
>
> On Fri, 24 Jan 2020, Chris Muller wrote:
>
> > Hi Jakob,
> >
> > Optimal execution performance can never be assured with #new, since the
> potential cost of under-allocation in various places is offset by the gains
> of not over-allocating in other places.
> >
> > Although it's impossible to tweak the default initial size in #new to
> optimize for performance, we can at least optimize for space, and also for
> clarity-of-usage. #new, by nature, expresses a "lack of concern for
> optimization", so Squeak should at least provide compactness in that case.
> Places in the code that
> > need optimization will correctly express that by writing #new: with a
> larger pre-allocation.
> >
> > It's true that system level changes of any kind could result in the need
> for downstream changes but, in this case, it seems very unlikely.
>
> The way I understand it, Jakob says that your suggested change has a
> chance to slow down things just to save a few hundred kilobytes of memory.
>
But your suggested change is 100% *guaranteed* to slow things down, with no
space savings.
This avoids that particular slow down, while guarantee'ing to save space!
All for only a very *teency-weency chance* of other areas being minorly
affected (and, easily fixed if they are!).
> I don't think we would want to do that without measuring the effects of
> the change somehow.
>
Performance measuring is already part of every system that cares, right?
:)
None of those systems are depending on any particular default initial size
for performance. If they are, they should be fixed.
>
> Same applies to OrderedCollections.
>
> Following your reasoning, the optimal initial capacity for any dynamic
> collection created with #new should be 0, but that doesn't feel right...
>
Not 0, 3. It's "reasoning", not extremism. :)
3 would be a great default for OrderedCollection. Ultra-minimal, but with
a purpose. I mean, really, with 10, we have 92% of all instances wasting
space.
- Chris
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200124/47b1df57/attachment.html>
More information about the Squeak-dev
mailing list
|