Die 1-Milliarde-Zeilen-Challenge
- Die „1 Billion Row Challenge (1BRC)“, die vom 1. Januar 2024 bis zum 31. Januar läuft, wurde angekündigt.
- Die Teilnehmer müssen ein Java-Programm schreiben, das Temperaturmesswerte in einer Textdatei durchsucht und für jede Wetterstation die minimale, durchschnittliche und maximale Temperatur berechnet.
- Die Datei enthält 1 Milliarde Zeilen, wobei jede Zeile genau einen Messwert enthält.
Regeln der Challenge
- Alle Einreichungen müssen in Java geschrieben sein.
- Es dürfen alle über SDKMan verfügbaren Java-Distributionen sowie Early-Access-Builds von openjdk.net verwendet werden.
- Externe Abhängigkeiten dürfen nicht verwendet werden.
Teilnahme
- Das 1brc-Repository muss auf GitHub geklont werden, danach sind die Anweisungen in der README-Datei zu befolgen.
- Mit der Basisimplementierung kann ein Referenzwert erstellt und geprüft werden, ob sie korrekte Ergebnisse liefert.
- Wenn man mit der eigenen Arbeit zufrieden ist, kann man einen Pull Request im Upstream-Repository eröffnen und so an der Challenge teilnehmen.
Bewertung und Preise
- Alle Einreichungen werden auf einer Hetzner Cloud CCX33-Instanz (8 dedizierte vCPUs, 32 GB RAM) ausgeführt und bewertet.
- Die Laufzeit wird mit dem Programm
time gemessen; der langsamste und der schnellste Lauf werden ausgeschlossen, und der Durchschnitt der verbleibenden drei Durchläufe wird als Ergebnis verwendet.
- Als Preis winken die Möglichkeit, etwas Neues zu lernen, andere zu inspirieren und der Stolz, den eigenen Namen auf der Bestenliste zu sehen.
- Gerüchten zufolge könnte der Gewinner außerdem ein einzigartiges 1️⃣🐝🏎️-T-Shirt erhalten.
Meinung von GN⁺
- Diese Challenge bietet der Java-Community die Gelegenheit, die Leistungsgrenzen von Java auszuloten und Optimierungstechniken zu teilen.
- Sie kann eine praxisnahe Erfahrung sein, um Javas Fähigkeiten bei der Verarbeitung großer Datenmengen zu testen und moderne Java-Features sowie Techniken zur Leistungssteigerung direkt anzuwenden.
- Die Teilnehmer haben die Möglichkeit, ihre Fähigkeiten im weltweiten Wettbewerb zu messen und ihre Entwicklerkompetenz durch Lernen und Zusammenarbeit weiterzuentwickeln.
1 Kommentare
Der Erstplatzierte schafft es in 6 Sekunden … beeindruckend.