Performance Bug with JET Built EXE compared to Java Runtime in Defect Reports Posted January 27, 2017 · Report reply We have extensively studied the provided example and there are some points we need to explain: 1. This example may be optimized in naive way by just wrapping data into ByteBuffer in the following way: buf = ByteBuffer.wrap(data) After this, ByteBuffer.put() may be replaced with buf.getInt(), buf.getFloat() which speed ups the execution by 3-5 times (both on Oracle HS and JET). 2. Bench results depend on inlining settings. Our performance analysis team made an example (based on the provided above) on which x86-compiled application has comparable to Hotspot performance, when inlining level is set to default. However, when inlining level is set to "Very Aggressive" in JET Control Panel, resulting executable outperforms Hotspot by the factor of 1.5 on the same bench. Inline planning has very big influence on performance, which ahead-of-time compiler may fail to predict because it lacks execution profile information. Default value is chosen to be applicable for the majority of applications, but It is reasonable to try different inlining levels for particular application and compare the resulting performance. 3. Excelsior JET compiler for x86 applications has more optimizations implemented than x64 compiler. That is why, if application uses less than 2GB of RAM, it is worth trying to compile this appication with x86 edition of Excelsior JET and compare the performance of both executables. The upcoming release of Excelsior JET is devoted for various performance improvements in both (x86 and x64) compilers. Note, that the example provided by cheble is in our short-list for performance analysis.