Measuring runtimes
Compare Java, Python, Node, and Rust on the same workload with Prometheus and Grafana, then compare the JVM against a GraalVM native image built from the same Spring Boot source.
- Step 1 of 2 Java, Python, Node and Rust on the same REST service: 7 MB to 191 MB at idle At idle the Rust service uses 7 MB of memory, Node 80 MB, Python 85 MB and Java 191 MB. Four implementations of one REST service run on Minikube with Prometheus and Grafana, and the project runs with one command.
- Step 2 of 2 Native image vs JVM on Spring Boot 4.1: 4.3x less memory, 18x faster startup The GraalVM native image of a Spring Boot 4.1 service uses 84 MB of memory and starts in 0.33 s. The OpenJDK 25 jar of the same code uses 358 MB and starts in 5.98 s. Both builds come from one Maven project and run on one Minikube cluster, and Prometheus measures both at container level.