What Kind of Code Lends Itself to JIT Optimisations?

Viewed 58

I'm working with the LLVM API and was curious about the performance of the in built JIT through it's execution engine compared to statically compiled object code, and whether the execution engine was more for ease of use during development or not. Having seen this question apparently the JIT LLVM offers can provide very significant speedups, for particular kinds of code.

My main question is, what specific features in given code allows for such gains through JIT compilation, where concrete types are known to the optimiser, compared to static compilation? When does it make a difference, and when is it more or less the same?

As a side question, I'm also curious if the above question is still accurate. The nature of JIT vs AOT compilation is obviously unchanging, but a lot still could had changed in the 10 years since the question was asked, and I just wonder if there's any new information on the topic that might be relevant for working with LLVM.

0 Answers
Related