More Podcasts by InfoQ episodes

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

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

Published 27 Apr 2026

Duration: 00:40:47

Challenges in deploying AI from proof-of-concept to production highlight engineering gaps, with QuestDB's three-tier storage (real-time, query, archival) and Java/C++/Rust optimizations enabling scalable time-series data handling, though facing Java warmup, code generation, and hardware integration hurdles.

Episode Description

In this podcast, Jaromir Hamala, a seasoned Java engineer specialising in high-throughput data systems, shares his thoughts on how developers can tack...

Overview

The podcast discusses challenges in deploying AI systems into production, emphasizing the gap between proof-of-concept development and reliable, scalable implementations. It highlights QuestDB, a time-series database optimized for high ingestion rates and bridging real-time data with data lakes. QuestDB employs a three-tier storage architecture: Tier 1 handles real-time ingestion via an append-only write-ahead log, Tier 2 organizes data by time for efficient querying (e.g., binary search over time windows), and Tier 3 stores older data in cost-effective formats like Parquet in object storage (e.g., S3). The database is tailored for machine-generated data (e.g., IoT, financial systems), prioritizing scalability and external tool integration to avoid data lock-in. Key concepts include time-series databases treating time as a primary dimension for aggregation and tiered storage balancing speed, query efficiency, and cost.

The technical implementation focuses on Java as the core language for QuestDB, with 90% of the codebase in Java and performance-critical components in C, C++, and Rust. Unorthodox Java practices, such as object pooling and minimizing garbage collection, enable high ingestion rates (millions of rows per second). A custom JIT compiler is used for SQL filters, though limitations like lack of ARM support in the C++ backend and slow initial execution of generated code pose challenges. Future plans include transitioning to Javas Vector API for ARM compatibility and leveraging projects like Valhalla to improve memory layout control. Alternatives to JNI, such as Javas Panama project, are explored for safer native memory access, while risks of unsafe memory manipulation in Java are acknowledged.

The discussion extends to low-level system programming, including debugging a Linux kernel deadlock encountered during profiling, and optimizing performance through hardware-aware techniques like exploiting CPU parallelism. The role of AI tools in code exploration and analysis is also covered, with examples of using AI for investigating compilers, security vulnerabilities, and log analysis. However, challenges include balancing AI-driven efficiency with foundational programming discipline and avoiding over-optimization in general-purpose systems. Overall, the content underscores the interplay between hardware understanding, software design, and emerging technologies like AI in addressing performance and scalability challenges.

Recent Episodes of Podcasts by InfoQ

20 Jul 2026 Strands Agents with Clare Liguori

"Explores AI adoption challenges, Strands Agents SDK's model-driven approach, responsible AI practices, and future scaling of advanced, multi-step agent systems."

13 Jul 2026 Governance in the Age of AI: A Conversation with Sarah Wells

"AI and architecture decisions shape long-term systems, requiring governance to balance standardization and flexibility, while platform engineering and DevOps aim to reduce friction; challenges include fragmentation, compliance, and risks like security and cost, with AI's role evolving alongside human oversight, mentorship, and adaptability in software development."

More Podcasts by InfoQ episodes