AWS introduced the Graviton family of 64-bit ARM-based CPUs in 2018, and each generation is faster than its predecessor. Zing, the high-performance Java distribution behind Azul Platform Prime, performs more than 30% better on Graviton 4 than vanilla OpenJDK across a wide range of performance tests. In this blog post, Azul Senior Technical Writer and Java Champion Frank Delporte takes a closer look at the performance boost Zing delivers on Graviton.
What is Graviton?
The first version of AWS Graviton was released in 2018, but it has already evolved into a fourth generation, which is up to 45% faster for large Java applications than Graviton 3.
What Is Graviton? |
---|
AWS Graviton is a family of 64-bit ARM-based CPUs, known for its lower energy consumption, and was designed for use in data centers. |
Zing’s continuous improvements on Graviton
Azul distributes two Java Virtual Machine (JVM) runtimes. The first one, Zulu, is an OpenJDK distribution with the same code as Oracle Java SE. Zulu is available for free or with additional support and security services in the Azul Platform Core product. The second one, Zing, is a high-performance Java platform.
Continuous improvements of Zing on Graviton
Since June 2022, Zing is available for Graviton systems with CentOS, CentOS Stream, Oracle Linux, Ubuntu, and Amazon Linux. Since then, the Azul team has continuously focused on improving Zing’s performance for Graviton in each release. For instance, between builds 4079 and 4805 (in three months), Zing’s performance improved 3.45% on Graviton 4 [figure 1]. Without any code change, just by keeping your runtime up-to-date, you can increase your system’s load and lower your total cost.
What Are Azul Zing Builds of OpenJDK? |
---|
The Zing Java distribution is based on OpenJDK, but it includes the Falcon compiler and C4 Garbage Collector. Azul’s Zing-based product, Azul Platform Prime, performs 20-50% faster than vanilla OpenJDK, without any code changes! |
Zing versus OpenJDK on Graviton
Our measurements have shown a tremendous difference between Zing and Zulu. For instance, with version 21, Zing performs 31.7% better on Graviton 4 [figure 2] across a wide range of performance tests.
Zing on Graviton versus x86
Tests executed on c7i.2xlarge (x86) versus r8g.xlarge (Graviton 4) measured a +9% performance improvement, and a 33% lower cost for the Graviton instance (from $3,000 to $2,000 per year) [figure 3].



What to expect when combining Zing and Graviton
For organizations running Java workloads, combining Zing and Graviton-based Amazon EC2 instances leads to a robust and cost-effective solution. It allows you to get the maximum performance out of your existing Java applications while reducing total compute costs or achieving a higher throughput within the same budget.
Switching to Graviton
When using AWS EC2, a wide range of instances is available, allowing you to switch from similar Intel-based instances easily.
Graviton 4 EC2 Instances
Instance Size | vCPUs | Memory | Network Bandwidth | EBS Bandwidth |
---|---|---|---|---|
r8g.medium | 1 | 8 GiB | up to 12.5 Gbps | up to 10 Gbps |
r8g.large | 2 | 16 GiB | up to 12.5 Gbps | up to 10 Gbps |
r8g.xlarge | 4 | 32 GiB | up to 12.5 Gbps | up to 10 Gbps |
r8g.2xlarge | 8 | 64 GiB | up to 15 Gbps | up to 10 Gbps |
r8g.4xlarge | 16 | 128 GiB | up to 15 Gbps | up to 10 Gbps |
r8g.8xlarge | 32 | 256 GiB | 15 Gbps | 10 Gbps |
r8g.12xlarge | 48 | 384 GiB | 22.5 Gbps | 15 Gbps |
r8g.16xlarge | 64 | 512 GiB | 30 Gbps | 20 Gbps |
r8g.24xlarge | 96 | 768 GiB | 40 Gbps | 30 Gbps |
r8g.48xlarge | 192 | 1,536 GiB | 50 Gbps | 40 Gbps |
r8g.metal-24xl | 96 | 768 GiB | 40 Gbps | 30 Gbps |
r8g.metal-48xl | 192 | 1,536 GiB | 50 Gbps | 40 Gbps |
Switching to Zing
Zing is a modern, TCK-compliant Java platform based on OpenJDK. You don’t need to recompile your code to run your Java workloads with Zing. Runtimes are available for Graviton for CentOS, CentOS Stream, Oracle Linux, Amazon Linux, and Ubuntu. Zing’s Stream builds are free for development and evaluation from the Azul download page. Stable builds containing the most recent security fixes and general improvements are only available to customers.
Switching from any OpenJDK distribution to Zing is just a matter of replacing the runtime or configuring your system to point the java
command to the location where you installed Zing, for instance, as explained for Debian-based systems. Zing can also be used in containers, for example, to pull the Ubuntu image with JDK 21, run:
docker pull azul/prime:21
Java applications on Zing
It’s essential to remember that you may be using many other applications, besides those developed by your team, that also run on Java, like Kafka and other third-party tools.
Benchmark results
Azul has an extended test bench to validate the speed improvements implemented in Zing. These benchmarks confirm significant performance gains with Zing compared to traditional Java runtimes running on Graviton instances.
Zing 17 vs OpenJDK 17 | Zing 21 vs OpenJDK 21 | |
---|---|---|
Graviton 3 | 39% faster | 42.8% faster |
Graviton 4 | 33.6% faster | 38.4% faster |
These results are an aggregation of industry standard benchmarks such as Renaissance, Dacapo, SPECjbb, and OpenJDK JMH suite, as well as custom-built benchmarks focused on commonly used coding patterns, e.g., serialization.
To ensure we get a representative picture of real-world applications, we use a set of benchmark suites that mixes latency and throughput-focused tests.
Conclusion
Whether modernizing legacy Java applications or optimizing cloud-native services, Azul Platform Prime and AWS Graviton 4 offer the new standard in Java workload efficiency. With unmatched performance, lower infrastructure costs, and a smooth migration path, this joint solution enables enterprises to do more with Java on AWS.
Resources
- Innovate quickly with AWS Graviton Fast Start: https://aws.amazon.com/ec2/graviton/fast-start/
- Announcement AWS Graviton4-based Amazon EC2 R8g instances: https://aws.amazon.com/blogs/aws/aws-graviton4-based-amazon-ec2-r8g-instances-best-price-performance-in-amazon-ec2/
- Azul Platform Prime: https://www.azul.com/products/prime/
- Zing OS supported platforms: https://docs.azul.com/prime/Sys-Reqs#operating-systems
- Azul Prime Stream Downloads: https://www.azul.com/downloads/#prime
- Azul Platform Prime and Zing documentation: https://docs.azul.com/prime/
- Prime Operating System requirements: https://docs.azul.com/prime/Sys-Reqs#operating-systems