As a large scale high performance trading platform serving the high frequency trading community, latency has always been critical for our clients. Before using Azul Zing JVM, we would have had to spend a lot of effort tuning our JVM GC and profiling our application to minimize latency, which is sometimes very unpredictable due to Java GC. Azul Zing solved our Java GC problem. With minimal effort, Zing has helped us improve our latency performance drastically. There are no more jitters or pauses that used to require hours or days of research to resolve in our production environment. Zing has freed our development resources to focus on our core business.
However, like every other great product, there is always something that can be improved. Although Azul claims to have a fast warm up, we still experience higher latency for the first trade when our system starts up on Sundays. It would be extremely helpful if Zing JVM can learn to warm up that code path or print some insights of the path that lead to a solution. The other feature we find very useful, but would like to see some improvement on, is the Azul’s Java profiling tool.
Overall, we think Azul/Zing is a great product for low latency mission critical applications. The ROI is excellent.