You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Clever implementations and aggressive parallelism have achieved incredible times, but I was curious what the naive, almost 1-liner in Awk would look like.
I have found Awk to be wonderfully performant in a lot of these sorts of daily accumulation tasks, but in this case it's own internal associative array isn't too much faster than the naive implementation in something like Python. The equivalent, basic approach in something like Rust/C++ (no multi-threading, just HashMap/std::map and a struct) are 30% faster.
The redeeming quality here is the implementation took literally a minute with no compile step.
The text was updated successfully, but these errors were encountered:
Awesome! 🤩 In only 12 lines too!
Are you accepting submissions from others that I can add a link to the website and the GitHub org readme to your repository? Do you want to add it to the @1brc org? This org is so far unofficial -- if you want to show this off to more people I highly recommend you share it on the current official discussion board too!
Clever implementations and aggressive parallelism have achieved incredible times, but I was curious what the naive, almost 1-liner in Awk would look like.
https://github.com/glentner/1brc-awk
I have found Awk to be wonderfully performant in a lot of these sorts of daily accumulation tasks, but in this case it's own internal associative array isn't too much faster than the naive implementation in something like Python. The equivalent, basic approach in something like Rust/C++ (no multi-threading, just
HashMap
/std::map
and a struct) are 30% faster.The redeeming quality here is the implementation took literally a minute with no compile step.
The text was updated successfully, but these errors were encountered: