Understanding the Graal JIT compiler
In the previous chapter, we briefly touched upon the Graal compiler and the ecosystem around it. In this section, we will dig deeper into various compiler options and see how Graal optimizes the code just in time. In the next section, we will take a look at Ahead-of-Time compilation, and how a native image can be created. Before we get into the details of how the Graal compiler works, let's quickly go through some of the Graal compiler configurations, which can be passed as arguments to the virtual machine.
Graal compiler configuration
The Graal compiler can be configured with various arguments that can be passed from the java
command (in the GraalVM version of java
). In this section, we will go through some of the most useful command-line configurations.
We will be trying these various flags on a sample application to see how it affects the Graal compiler.
Let's write a simple Java class called FibonacciCalculator
. Here...