It takes 1130s on my machine (Apple M1) to generate the data.
I hoped generating the measurements with numpy in batches would be enough for a good speedup. But writing records in a loop is also very slow. Total time ~ 760s
I tried using pandas for csv output, it was slower.
Writing csv in polars is very fast, but converting the array of randomly selected station names into a polars column is slow. Total time ~ 480s
By using polars instead of numpy to sample the stations, this slow conversion can be avoided, so finally creating the 1brc dataset takes just 71s.
It takes 1130s on my machine (Apple M1) to generate the data.
I hoped generating the measurements with numpy in batches would be enough for a good speedup. But writing records in a loop is also very slow. Total time ~ 760s
I tried using pandas for csv output, it was slower.
Writing csv in polars is very fast, but converting the array of randomly selected station names into a polars column is slow. Total time ~ 480s
By using polars instead of numpy to sample the stations, this slow conversion can be avoided, so finally creating the 1brc dataset takes just 71s.