Hacker News new | ask | show | jobs
V8 Maglev: compiler design doc (docs.google.com)
49 points by obl 1107 days ago
6 comments

Boy am I glad that huge internet companies are willing to fund these sorts of large engineering projects in the open
We wanted flying trains and all we got was a js compiler.
We wanted flying trains?
Factory must grow
We already have flying trains
Large? This is the simple, fast midtier compiler. Without much optimizations.

Looks similar to the PHP compiler.

Here's a recent post about shipping and results: https://blog.chromium.org/2023/06/how-chrome-achieved-high-s...

Would be interesting to hear where they ended up with the parallelism that was mentioned in passing.

This seems similar to Safari’s JSCore 4 tiers architecture.

Imagine keeping execution smooth while switching between all those tiers. Modern JS engines are fascinating beasts.

Thank you to everyone involved in this. I'm wondering, is Node.js fiddling with v8 in order to focus more on the resulting code performance than the initial startup.

Planning to learn C/C++ in order to investigate that and if there any gains there.

I would guess node.js apps can load a ton of code so the startup can be important too.
What's a 30 seconds of startup for an app that will stay up for a few hours until the next deploy?
More downtime upon deployment (or spreading deployment over longer period).

For serverless with cold starts, direct translation to $.

The whole motivation for tiered JITing is to attempt a balance that gets the best of both worlds; fast startup, optimized hot code (over time).

Unfortunately many CLI tools are written in JS as well (looking at you wrangler).
Lots of money when talking about serverless.
Sounds like a joy to test
Yay a new part of chromium with a new name made by different people (probably) than the original v8 people. Seems like Google has an affliction of “not invented by me”.

Just read the first sentence if you are thinking I’m being a bit harsh:

“We’ve previously made a case why four tiers in V8(Google internal) make sense to explain why Sparkplug made sense in addition to Ignition, TurboProp and TurboFan. TurboProp was a midtier compiler proposal based on TurboFan to significantly improve compilation speed while compromising on the performance of the resulting code. With Sparkplug in place, however, the design tradeoffs TurboProp made by being built on top of TurboFan didn’t end up panning out. ”

Why pick a name - maglev - that will confuse everyone, forever?