Share style structs
As part of #42 (closed), it would be good to investigate how to keep each NodeData
from having a complete copy of SpecifiedValues
and ComputedValues
. As of 2020/March/12, those structs are 824 bytes and 704 bytes, respectively.
This article - look for the "style struct sharing" section - describes in basic terms how Firefox uses shared style structs for style properties, instead of whole copies for each node. I haven't read the Firefox code to that detail, but I'm sure it's full of good ideas.