How Fast Can You Parse 1 Billion Rows in Java? – Insane Speed Test • GOTO 2025

How Fast Can You Parse 1 Billion Rows in Java? – Insane Speed Test • GOTO 2025

🎙 Roy van Rijn 👥 1.1M 📅 June 3, 2026 ⏱ 39 min 👁 7K 📄 expert opinion 🧭 2026-08-02
Available in: English (current) Français

Keywords

1BRCJavaperformancememory-mapped filesSWAR

Summary

Roy van Rijn presents his journey in the One Billion Row Challenge (1BRC), where participants optimized Java code to parse a file with one billion weather records. Starting from a baseline of 4 minutes 50 seconds, he progressively applied techniques such as parallel streams, switching to GraalVM native image, using memory-mapped files, and leveraging sun.misc.Unsafe for direct memory access. He explains SWAR (SIMD within a register) to process multiple bytes at once, branchless programming to avoid CPU pipeline stalls, and integer arithmetic instead of floating-point. He also discusses the importance of mechanical sympathy and the final result of under 2 seconds. The talk includes code snippets and performance comparisons, emphasizing that such optimizations are for fun and learning, not for typical production code.

123 words

Critical Evaluation

The talk provides a detailed and engaging account of extreme performance optimization in Java. Roy van Rijn demonstrates deep technical knowledge and a clear pedagogical approach, breaking down complex concepts like SWAR and branchless programming into understandable segments. The content is well-structured, following his chronological progress in the challenge, which helps the audience appreciate the incremental improvements. The use of concrete examples and code snippets strengthens the credibility of his claims. However, the talk is based on a specific benchmark and may not reflect general Java performance improvements. The reliance on sun.misc.Unsafe is explicitly cautioned against for production use, which is responsible. The speaker’s enthusiasm is evident, and he acknowledges the competitive nature of the challenge, where participants learned from each other. The sources cited are primarily the challenge repository and his own blog, which are appropriate. The talk does not delve into potential drawbacks or alternative approaches in depth, but it serves as an excellent introduction to advanced optimization techniques. The adéquation between title and content is perfect, as the title promises a speed test and the talk delivers exactly that. Overall, the information is valuable for developers interested in performance tuning, though it should be taken as an expert’s experience rather than a rigorous scientific study.

208 words

Title / Content Match

The title accurately reflects the content: a performance-focused talk on parsing a billion rows in Java.

Quality & Reliability

8/10

Talk by an experienced developer with practical demonstrations and references to a well-known community challenge (1BRC). Techniques are explained with code examples and performance measurements, but no formal peer review or independent verification.

Chapters

Cited Sources

Concurring Sources

  • 1BRC Challenge Repository — The challenge itself, which the talk is based on, and where many participants shared their solutions.

Dissenting Sources

External References

Contribution & Novelties

The talk offers a comprehensive walkthrough of advanced Java optimization techniques applied to a real-world challenge. It provides practical insights into memory-mapped files, SWAR, branchless programming, and using sun.misc.Unsafe, with performance measurements at each step. The speaker’s experience highlights the importance of understanding hardware and JVM internals for extreme performance.

Pour aller plus loin :

99 words

Radar Profile

The radar profile shows high scores in information quantity, quality, and technical level, with a slightly lower reliability score due to the lack of formal peer review. This indicates a technically rich and informative talk, but one that should be considered as an expert's experience rather than a scientifically validated study.

Reliability 7/10