On Sat, Nov 10, 2018 at 03:04:35PM +0100, Ævar Arnfjörð Bjarmason wrote: > d) As shown in the linked E-Mails of mine you sometimes pay a 2-3 second > *fixed* cost even for a very small (think ~100-200 objects) push/fetch > that would otherwise take milliseconds with Jeff's version of this > optimization (and not with mine). This can be a hundred/thousands of > percent slowdown. > > Is that a big deal in itself in terms of absolute time spent? No. But > I'm also thinking about this from the perspective of getting noise > out of performance metrics. Some of this slowdown is also "user > waiting for the terminal to be usable again" not just some machine > somewhere wasting its own time. IMHO the ultimate end-game in this direction is still "don't have a bunch of loose objects". Right now this can legitimately happen due to unreachable-but-recent objects being exploded out (or never packed in the first place). But I hope in the long run that we'll actually put these into packs. That will make this case faster _and_ avoid extra work during gc _and_ fix the "whoops, we just ran gc but you still have a lot of objects" problem. Which doesn't invalidate your other four points, of course. ;) -Peff