The InfoQ Podcast

A Java Performance Quest: Taming Unsafe Code, Embracing Idiomatic Style & Debugging the Linux Kernel

Apr 27, 2026
Jaromir Hamala, a generalist engineer behind QuestDB with deep JVM and low-level debugging experience. He talks about high-throughput time-series design, balancing Unsafe with modern Java APIs like Vector/Valhalla, native JIT and bytecode approaches for speed. He also recounts tracking down a Linux kernel deadlock and clever CPU-level tricks for extreme performance.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Time As The Primary Database Design Constraint

  • Time is a first-class optimization in time-series databases and shapes storage and query strategies.
  • QuestDB uses a three-tier design: append-only write head for ingestion, time-sorted mid tier for fast queries, and Parquet archive tier for cheap object-storage access.
INSIGHT

Mechanical Sympathy Lets Java Compete With Native Code

  • You can write very high-performance systems in Java by adopting a mechanically sympathetic style rather than idiomatic object-heavy patterns.
  • QuestDB's core is mostly Java but follows HFT-style practices: avoid allocations, reuse objects, and control memory layout for throughput.
ADVICE

Prototype Vector API Filters Before Rewriting Native JIT

  • Try using the Java Vector API and upcoming Valhalla features to replace fragile native JIT layers and reach portable vectorized execution.
  • Jaromir prototypes generating Java bytecode for filters to avoid platform-specific C++ JITs and to support ARM vectorization.
Get the Snipd Podcast app to discover more snips from this episode
Get the app