Let’s kick off 2024 true coder style—I’m excited to announce the One Billion Row Challenge (1BRC), running from Jan 1 until Jan 31.
Your mission, should you decide to accept it, is deceptively simple:
write a Java program for retrieving temperature measurement values from a text file and calculating the min, mean, and max temperature per weather station.
There’s just one caveat: the file has 1,000,000,000 rows!
Update Jan 4: Wow, this thing really took off!
1BRC is discussed at a couple of places on the internet, including Hacker News, lobste.rs, and Reddit.
For folks to show-case non-Java solutions, there is a "Show & Tell" now, check that one out for 1BRC implementations in Rust, Go, C++, and others.
Some interesting related write-ups include 1BRC in SQL with DuckDB by Robin Moffatt and 1 billion rows challenge in PostgreSQL and ClickHouse by Francesco Tisiot.
Thanks a lot for all the submissions, this is going way beyond what I’d have expected!
I am behind a bit with evalutions due to the sheer amount of entries, I will work through them bit by bit.