3 ms·
Does anybody know which optimization was added to V8 to improve the throughput by so much?
by amix 14y ago
Does anybody know which optimization was added to V8 to improve the throughput by so much?
- mraleph 14y agoIt is hard to say: that's 2642 worth of revisions in V8. String (unicode) benchmark throughput was definitely greatly affected by improvements in string handling (both internal operations and writing then out of V8 heap through the API; V8 also reintroduced string slices to avoid copying of characters for long substrings). Other notable things on the compiler front: V8 has switched to a new counting profiler from statistical one, and now makes slightly different optimization decisions. There were improvements in functions inlining (including inlining of constructors). There was some cleanup in invocation sequences for functions and we enabled type feedback for function calls through local variables on x64 (which opened the door to all optimizations that were dormant at such callsites: e.g. inlining or direct calls). Other notable things in the runtime: new GC has landed and was tweaked for quite some time. Unboxing of double arrays and tracking of smi-arrays (should not affect node.js though). I think the only way to see which changes in V8 resulted in throughput boosts is to get per-V8-revision measurements.