V8 v7.7 is now officially available.
Performance (size & speed)
Lazy feedback allocation
o.foo). This feedback is used to optimize these operations by tailoring them to those specific types. This information is stored in “feedback vectors”, and while this information is very important to achieve faster execution times, we also pay a cost for the memory usage required to allocate these feedback vectors.
To reduce V8’s memory usage, we now allocate the feedback vectors lazily only after the function has executed a certain amount of bytecode. This avoids allocating feedback vectors for short-lived functions that don’t benefit from the feedback collected. Our lab experiments show that lazily allocating feedback vectors saves about 2–8% of V8 heap size.
Our experiments from the wild show that this reduces V8’s heap size by 1–2% on desktop and 5–6% on mobile platforms for the users of Chrome. There are no performance regressions on desktop, and on mobile platforms we actually saw a performance improvement on low-end phones with limited memory. Please look out for a more detailed blog post on our recent work to save memory.
For full updates, please read the release notes here.