Bug 1689413 Comment 4 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

I have a WIP patch stack for this. Looking at Linux64 numbers on Try:

* Base Content JS is about 35K (~1.4%) less.
* For awsy-tp6 the improvement is a bit bigger, ~4% for JS memory.
* Speedometer and JetStream 2 aren't affected much, maybe a tiny bit faster but hard to say with only a few data points.

Memory reports are mostly as expected:
* Objects are smaller.
* ObjectGroups are gone.
* Shapes have an extra word so use more memory.
* BaseShapes are one word bigger as well, but there are fewer of them because a ShapeTable/ShapeIC no longer requires a new BaseShape, so their memory usage shrinks. It's then similar to current ObjectGroup memory (expected because this basically turns BaseShape into ObjectGroup).

The number of GC-things drops a bit (no more groups, fewer BaseShapes) so I hope that will have a positive impact.

This also removes a lot of complexity (object groups, owned BaseShapes) so I'm pretty happy with it.
I have a WIP patch stack for this. Looking at Linux64 numbers on Try:

* Base Content JS is about 35K (~1.4%) less.
* For awsy-tp6 the improvement is a bit bigger, ~4% for JS memory.
* Speedometer and JetStream 2 aren't affected much, maybe a tiny bit faster but hard to say with only a few data points.

Memory reports are mostly as expected:
* Objects are smaller.
* ObjectGroups are gone.
* Shapes have an extra word so use more memory.
* BaseShapes are one word smaller; a ShapeTable/ShapeIC no longer requires a new BaseShape. Memory usage is similar to current ObjectGroup memory (expected because this basically turns BaseShape into ObjectGroup).

The number of GC-things drops a bit (no more groups, fewer BaseShapes) so I hope that will have a positive impact.

This also removes a lot of complexity (object groups, owned BaseShapes) so I'm pretty happy with it.

Back to Bug 1689413 Comment 4