Java-based systems deliver great performance when running compiled and optimized code. However, the JVM needs time to “warm up”, or optimize frequently-used code, so the application can run at top speed. Why does this happen? Java was designed to start up quickly, then improve performance over time based upon actual usage. The JVM’s just-in-time (JIT) compilers (like Azul Platform Prime’s Falcon compiler) depend upon profile data that describes which parts of the application are called the most (the “hot” code). JIT compilation allows the JVM to optimize performance, but it can take time. In use cases like capital markets, typically systems are “warmed up” to deliver peak performance. While a Java application often can take time to start up, it has to be ready to go and fully optimized when the opening bell rings.