Live data from Hacker News

A Race of Two Compilers: GraalVM JIT versus HotSpot JIT C2 [video]

youtube.com

1–10 of 64 posts

Re: A Race of Two Compilers: GraalVM JIT versus HotSpot JIT C2 [video]

#4
post #3

Just in time compilation, I think it should be called “continuous profile guided compilation” instead, describes better the awesomeness that happens...

Some people differentiate between just-in-time compilation, which is what for example .NET does (or did, last time I checked), where it just literally compiles it as it would ahead-of-time, but at the last second before executing it for the first time, and dynamic compilation, which is for example what Graal does - compiling based on runtime conditions, possibly multiple times with different results as the program executes.

Re: A Race of Two Compilers: GraalVM JIT versus HotSpot JIT C2 [video]

#5
post #3

Just in time compilation, I think it should be called “continuous profile guided compilation” instead, describes better the awesomeness that happens...

JITs do more than just profile-guided optimizations. Their secret weapon is speculative optimizations that mean they don't need to work hard (and often fail) to prove the soundness of certain optimizations. They're allowed to guess and be wrong.

Re: A Race of Two Compilers: GraalVM JIT versus HotSpot JIT C2 [video]

#8
From what I know, GraalVM EE (Enterprise Edition) does do loop vectorisation.

This will lead to an interesting problem if they want to replace C2 with Graal. Are they willing to regress performance for some open-source-only users, even if it's a performance win for others?

Re: A Race of Two Compilers: GraalVM JIT versus HotSpot JIT C2 [video]

#9
post #8

From what I know, GraalVM EE (Enterprise Edition) does do loop vectorisation. This will lead to an interesting problem if they want to replace C2 with Graal. Are they willing to regress performance for some open-source-only users, even if it's a performance win for others?

Yes, this will be very interesting. Also, since GraalVM is pretty modular. Will someone provide a free/open source version with loop vectorisation and other goodies.

Re: A Race of Two Compilers: GraalVM JIT versus HotSpot JIT C2 [video]

#10
post #5
post #3

Just in time compilation, I think it should be called “continuous profile guided compilation” instead, describes better the awesomeness that happens...

JITs do more than just profile-guided optimizations. Their secret weapon is speculative optimizations that mean they don't need to work hard (and often fail) to prove the soundness of certain optimizations. They're allowed to guess and be wrong.

Another advantage they have is that they can focus the spent optimization cycles on hot code.

AOT compilers can't afford running optimization passes in a loop (inline, optimize, inline, optimize, ...) until they reach a fixed point because that would blow up compile times if that were applied to the whole program.

Post reply on HN