#265 One Billion Row Challenge: Java mit mmap, Unsafe & richtig vielen Bit-Tricks episode artwork

EPISODE · Apr 28, 2026 · 1H 11M

#265 One Billion Row Challenge: Java mit mmap, Unsafe & richtig vielen Bit-Tricks

from Engineering Kiosk · host Wolfgang Gassler, Andy Grunwald

Java und Performance in einem Satz? Für viele klingt das immer noch wie ein Widerspruch. Dann kommt eine Challenge daher, bei der eine Milliarde Zeilen Wetterdaten verarbeitet werden sollen, und plötzlich wird aus Stammtischwissen ein echter Engineering-Nerdfight. Genau darum geht es in dieser Episode. Wir tauchen tief in die One Billion Row Challenge ein und schauen uns an, wie eine vermeintlich einfache Aufgabe zum internationalen Performance-Contest wurde.Wir sprechen darüber, warum Gunnar Morling diese Challenge gestartet hat, wie aus einer naiven Lösung mit fast fünf Minuten Laufzeit optimierte Implementierungen mit rund 1,5 Sekunden wurden und welche Rolle dabei Java, GraalVM, Memory Mapping, Unsafe, SIMD, Branchless Coding, Hashmaps, Cache-Lines und Integer-Arithmetik spielen. Außerdem schauen wir auf die Kritik an der Challenge, etwa RAM-Disk, Dataset-Overfitting und CPU-spezifische Optimierungen, und wir werfen einen Blick auf alternative Umsetzungen in C, Go, PHP, SQL, DuckDB, ClickHouse, AWK und sogar auf GPU-Ansätze.Wenn du Performance-Optimierung nicht nur als Buzzword, sondern als Mischung aus Hardware-Verständnis, Datenstrukturen, Compiler-Wissen und Community-Lernen sehen willst, bist du hier genau richtig. Und ganz nebenbei klären wir auch noch, ob Java wirklich langsam ist oder ob dieser Mythos endlich in Rente darf.Bonus: AWK schafft es in elf Zeilen. Nicht schnell, aber stilvoll.Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partnersDas schnelle Feedback zur Episode:👍 (top) 👎 (geht so)Anregungen, Gedanken, Themen und WünscheDein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …EngKiosk Community: https://engineeringkiosk.dev/join-discord LinkedIn: https://www.linkedin.com/company/engineering-kiosk/Email: [email protected]: https://podcasts.social/@engkioskBluesky: https://bsky.app/profile/engineeringkiosk.bsky.socialInstagram: https://www.instagram.com/engineeringkiosk/Unterstütze den Engineering KioskWenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer Buy us a coffee: https://engineeringkiosk.dev/kaffeeLinksGunnar Morling: https://www.morling.dev/Blog Post “The One Billion Row Challenge”: https://www.morling.dev/blog/one-billion-row-challenge/1brc Github Repository: https://github.com/gunnarmorling/1brcThe Software Development Kit Manager: https://sdkman.io/1BRC Show and Tell: https://github.com/gunnarmorling/1brc/discussions/categories/show-and-tellJEP 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal: https://openjdk.org/jeps/471GraalVM: https://www.graalvm.org/Aleksey Shipilëv’s Submission mit 187 Zeilen Kommentar: https://github.com/gunnarmorling/1brc/blob/main/src/main/java/dev/morling/onebrc/CalculateAverage_shipilev.javaFastest known solution: 0.577s (8 core Zen2); C with heavy AVX2: https://github.com/gunnarmorling/1brc/discussions/710AWK-Lösungen: https://github.com/gunnarmorling/1brc/discussions/171AWK in 11 Zeilen: https://github.com/emiruz/1brc/blob/main/1brc.awk1BRC mit DuckDB: https://rmoff.net/2024/01/03/1%EF%B8%8F%E2%83%A3%EF%B8%8F-1brc-in-sql-with-duckdb/1BRC mit Clickhouse: https://ftisiot.net/posts/1brows/One Trillion Row Challenge: https://github.com/coiled/1trcThe One Billion Row Challenge in Go: from 1m45s to 3.4s in nine solutions: https://benhoyt.com/writings/go-1brc/Processing One Billion Rows in PHP!: https://dev.to/realflowcontrol/processing-one-billion-rows-in-php-3eg0/1BRC in PHP FFI + Rust: https://gianlucafabrizi.dev/blog/posts/1brc-php-ffi/Dask (Parallel Python): https://www.dask.org/1BRC–Nerd Sniping the Java Community: https://www.infoq.com/presentations/1brc/The Billion Row Challenge (1BRC) - Step-by-step from 71s to 1.7s: https://questdb.com/blog/billion-row-challenge-step-by-step/1BRC merykitty’s Magic SWAR: 8 Lines of Code Explained in 3,000 Words: https://questdb.com/blog/1brc-merykittys-magic-swar/Path to the Fastest #1BRC Solution: https://github.com/thomaswue/1brc-steps1BRC - What a Journey: https://www.esolutions.tech/1brc-what-a-journeyGewinner der 1BRC Thomas Wuerthinger: https://www.linkedin.com/in/thomaswue/Zenbleed: https://lock.cmpxchg8b.com/zenbleed.htmlEngineering Kiosk Episode #180 Skalierung, aber zu welchem Preis? (Papers We Love): https://engineeringkiosk.dev/podcast/episode/180-skalierung-aber-zu-welchem-preis-papers-we-love/mmap: https://en.wikipedia.org/wiki/MmapSprungmarken(00:00:00) One Billion Row Challenge und der Java-Performance-Mythos(00:04:25) Info/Werbung(00:05:25) One Billion Row Challenge und der Java-Performance-Mythos(00:07:07) Die Challenge: 1 Milliarde Wetterdaten und ein viraler Benchmark(00:13:00) Testsetup, Hetzner-Server und erste Laufzeit-Schätzungen(00:17:05) Von 4 Minuten auf 1,5 Sekunden: Gewinner, GraalVM und Bonuslisten(00:21:35) Kritik am Benchmark: RAM-Disk, Overfitting und Realitätsbezug(00:25:03) Erste Optimierungen: Parallelisierung, lokale Hashmaps und Dateisplits(00:26:59) Memory Mapping, Unsafe und Garbage Collection vermeiden(00:34:38) Custom Hashmaps, Cache Lines und Integer statt Float(00:38:30) Temperatur-Parsing auf Bit-Ebene und ALU-Operationen(00:42:02) SIMD, SWAR und Branchless Coding auf CPU-Ebene(00:49:53) GraalVM als Performance-Hebel und ein kreativer Prozess-Hack(00:54:05) Andere Sprachen im Vergleich: C, Go, PHP, AWK und SQL(00:59:20) Warum die GPU hier nicht automatisch gewinnt(01:01:44) Was bringt das im Alltag? Kritik, Learnings und Team-ChallengesHostsWolfgang Gassler (https://gassler.dev) Andy Grunwald (https://andygrunwald.com/)CommunityDiskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord

NOW PLAYING

#265 One Billion Row Challenge: Java mit mmap, Unsafe & richtig vielen Bit-Tricks

0:00 1:11:02

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

Hyperfluent Hypio Hyperfluent transmits straight from the heart of Hyperliquid, where culture, creativity, and capital converge. Anchored by the architects of Hypio—the decentralized cultural virus—each episode archives the minds engineering the blockchain built to house all finance. These conversations are traceable artifacts in HyperEVM’s evolution: not just what’s being built, but why it matters, how it mutates, and where it’s taking us next. Listen in for the blueprints, the blind spots, and the narrative weapons shaping tomorrow’s markets.Hyperfluent: learn the language, ride the wave, spread the strain. TrilogyBytes - Web Development and Technology Conversations Justin Johnson The TrilogyBytes podcast is a bi-monthly podcast published by the Engineering Team at Trilogy Education Services. Each episode features conversations that are relevant to today's technology industry. | Disclaimer: The views and opinions expressed in this podcast episode are solely those of the individuals participating and do not necessarily reflect those of Trilogy Education Engineering Culture by InfoQ InfoQ Software engineers, architects and team leads have found inspiration to build better, high performing teams by listening to the weekly InfoQ Podcast. We have achieved that by interviewing some of the top CTOs, engineers and technology directors from companies like Uber, Netflix and more. Over 500,000 downloads in the last 3 years. Greatest Hits Archives - Software Engineering Daily Greatest Hits Archives - Software Engineering Daily Popular episodes of Software Engineering Daily

Frequently Asked Questions

How long is this episode of Engineering Kiosk?

This episode is 1 hour and 11 minutes long.

When was this Engineering Kiosk episode published?

This episode was published on April 28, 2026.

What is this episode about?

Java und Performance in einem Satz? Für viele klingt das immer noch wie ein Widerspruch. Dann kommt eine Challenge daher, bei der eine Milliarde Zeilen Wetterdaten verarbeitet werden sollen, und plötzlich wird aus Stammtischwissen ein echter...

Is there a transcript available for this episode?

Yes, a full transcript is available for this episode. You can read the complete transcript on the episode page.

Can I download this Engineering Kiosk episode?

Yes, you can download this episode by clicking the download button on the episode player, or subscribe to the podcast in your preferred podcast app for automatic downloads.
URL copied to clipboard!