[squeak-dev] Re: The defaullt implementation of isEmpty might do too much work

Eliot Miranda eliot.miranda at gmail.com
Sat Oct 22 03:26:54 UTC 2016


Hi Monty,

    what happens if you add an isEmpty implement ration based in size to SequenceableCollection?

_,,,^..^,,,_ (phone)

> On Oct 21, 2016, at 3:59 PM, monty <monty2 at programmer.net> wrote:
> 
> All non-trivial collections implement #size or inherit a custom implementation, usually just as a return of an inst var. Your #do:-based one is 3x as slow in my tests, so you've now made #isEmpty slower for every collection that implements #size just to benefit ones whose careless authors didn't and so the implementors of lazy collections have one fewer message to override.
> 
> Do not do this. People already avoid #ifEmpty: and related messages where performance matters and shouldn't have to avoid #isEmpty too.
> 


More information about the Squeak-dev mailing list