# How ParparVM Reached Performance Parity with Warmed Java 25

DevFeed: [How ParparVM Reached Performance Parity with Warmed Java 25](<https://devfeed.tech/articles/how-we-beat-hotspot-performance-by-cheating-but-not-like-that-19212.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/beating-hotspot-performance/>)

Author: Shai Almog

Published: 2026-07-10T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [C](<https://devfeed.tech/topics/c.md>), [Project Valhalla](<https://devfeed.tech/topics/project-valhalla.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [c](<https://devfeed.tech/tags/c.md>), [java](<https://devfeed.tech/tags/java.md>), [memory](<https://devfeed.tech/tags/memory.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [project-valhalla](<https://devfeed.tech/tags/project-valhalla.md>)

## AI overview

This article explains how ParparVM, an ahead-of-time virtual machine that compiles Java bytecode to C, improved from 4.21x slower than warmed Java 25 to geometric-mean parity across ten benchmarks. It describes changes involving heap layout, code generation, allocation, and collection, with correctness checked against HotSpot.

## Source excerpt

ParparVM went from 4.21x slower than warmed Java 25 to geomean parity, with peak memory below the JVM's. The architecture behind it, in C terms.