1 billion row challengeについてのメモ
Javaについて調べてたら偶然2024年に流行った1 billion row challengeというのを見つけました。
元ネタはこちらで、リンクされているブログがThe One Billion Row Challenge - Gunnar Morlingです。
内容としては以下のようなデータが与えられるので、
Hamburg;12.0
Bulawayo;8.9
Palembang;38.8
St. John's;15.2
Cracow;12.6
...
下のように変換します
{Abha=5.0/18.0/27.4, Abidjan=15.7/26.0/34.1, Abéché=12.1/29.4/35.6, Accra=14.7/26.4/33.1, Addis Ababa=2.1/16.0/24.3, Adelaide=4.1/17.3/29.7, ...}
Mapしながらmin, avg, maxを計算する感じですね。
ただデータは10億行あります。そこで速度を競うというのがこのchallengeの趣旨のようです。
- リポジトリ: gunnarmorling/1brc
- サイト: 1 Billion Row Challenge
- QuestDBのブログ: The Billion Row Challenge (1BRC) - Step-by-step from 71s to 1.7s | QuestDB
- Rust実装: beowolx/fast_1brc
どこかで取り組んでみたいのでメモ。