Evaluating Compiler Optimization Impacts on zkVM Performance
Thomas Gassmann, Stefanos Chaliasos, Thodoris Sotiropoulos, Zhendong Su
Abstract
Zero-knowledge proofs (ZKPs) are the cornerstone of programmable cryptography. They enable (1) privacypreserving and verifiable computation across blockchains, and (2) an expanding range of off-chain applications such as credential schemes. Zero-knowledge virtual machines (zkVMs) lower the barrier by turning ZKPs into a drop-in backend for standard compilation pipelines. This lets developers write proof-generating programs in conventional languages (e.g., Rust or C++) instead of hand-crafting arithmetic circuits. However, these VMs inherit compiler infrastructures tuned for traditional architectures rather than for proof systems. In particular, standard compiler optimizations assume features that are absent in zkVMs, including cache locality, branch prediction, or instruction-level parallelism. Therefore, their impact on proof generation is questionable.
We present the first systematic study of the impact of compiler optimizations on zkVMs. We evaluate 64 LLVM passes, six standard optimization levels, and an unoptimized baseline across 58 benchmarks on two RISC-V-based zkVMs (RISC Zero and SP1). While standard LLVM optimization levels do improve zkVM performance (over 40%), their impact is far smaller than on traditional CPUs, since their decisions rely on hardware features rather than proof constraints. Guided by a performance impact analysis, we slightly refine a small set of LLVM passes to be zkVM-aware, improving zkVM execution time by up to 45% (average +4.6% on RISC Zero, +1% on SP1) and achieving consistent proving-time gains. Our work highlights the potential of compiler-level optimizations for zkVM performance and opens new directions for zkVM-specific passes, backends, and superoptimizers.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext b022a27a-eb63-40af-ae84-9e953b745163Builds on9
- Ligero: Lightweight Sublinear Arguments Without a Trusted SetupScott Ames, Carmit Hazay, Yuval Ishai, Muthuramakrishnan VenkitasubramaniamCCS 2017 · 338 citations
- Nova: Recursive Zero-Knowledge Arguments from Folding SchemesAbhiram Kothapalli, Srinath T. V. Setty, Ioanna TziallaCRYPTO 2022 · 123 citations
- Unlocking the Lookup Singularity with LassoSrinath T. V. Setty, Justin Thaler, Riad S. WahbyEUROCRYPT 2024 · 61 citations
- Unleashing the hidden power of compiler optimization on binary code difference: an empirical studyXiaolei Ren, Michael Ho, Jiang Ming, Yu Lei et al.PLDI 2021 · 57 citations
- GZKP: A GPU Accelerated Zero-Knowledge Proof SystemWeiliang Ma, Qian Xiong, Xuanhua Shi, Xiaosong Ma et al.ASPLOS 2023 · 47 citations
Related papers
- Arguzz: Testing zkVMs for Soundness and Completeness BugsChristoph Hochrainer, Valentin Wüstholz, Maria ChristakisUSENIX Security 2026 · 2 citations
- UniZK: Accelerating Zero-Knowledge Proof with Unified Hardware and Flexible Kernel MappingCheng Wang, Mingyu GaoASPLOS 2025 · 12 citations
- Ou: Automating the Parallelization of Zero-Knowledge ProtocolsYuyang Sang, Ning Luo, Samuel Judson, Ben Chaimberg et al.CCS 2023 · 2 citations
- Zero Knowledge for Everything and Everyone: Fast ZK Processor with Cached ORAM for ANSI C ProgramsDavid Heath, Yibin Yang, David Devecsery, Vladimir KolesnikovS&P 2021 · 22 citations
- Efficient Branch-and-Bound Testing and Verification of zkVMsHideaki Takahashi, Suman Jana, Junfeng YangCCS 2026
