The 1BRC - One Billion Row Challenge by Gunnar Morling kept countless programmers busy in January 2024. How fast can you process a CSV file with one billion lines? Well, as it turns out, you can do it in almost no time.
While the winning entries use Graal, Unsafe, SWAR, and more, this talk will instead take the audience on the first 80% of the journey. These 80% use simple and plain Java, but that still guarantees a fun ride. We will go step by step through the optimization and talk about it. We carefully avoid the master class code optimizations that lead to code that only a few people will understand.
Along the way, we will explore the performance impact of our changes, the reasons for them, and the tools to get the data we need to move forward. All of this will be done using Java 21.
As bonus, we will see how Java can go GC-less.
René Schwietzke
Xceptance GmbH
Recorded at Jfokus 2025 in Stockholm 5th of february
http://www.jfokus.se