See → https://1brc.dev
An input file with all rows of the format <station name>;<temperature>
is
given. It contains a billion rows (1,000,000,000 = 10\^9). Station names may
repeat.
Output a file of the format <station name>;min;max;mean
sorted by the station
name.
Rules and Limitations: https://1brc.dev/#rules-and-limits
Currently this is a learning exercise for myself. I am learning golang and doing some excessive yakshaving to fill gaps in my knowledge and exploring topics that I want to.
The original 1brc repo is a mess and the generator especially is. You should be
able to do go run github.com/ellipse0934/1BRC/cmd/generate --rows=1000000000
--station-set=extended
to make your own input.txt
file.
I will be exploring some golang topics like unit testing, benchmarking using pprof, RNG, concurrency and parallelisation, etc. Wherever my mind takes me. I’ll be happy with a sub 10 second solution. But there is no solution as of now.