10 ms·
The Java version does additional optimizations that his Go version doesn't do and he mentions that at the end of the post. The Java version is really optimized
by dsff3f3f3f 3y ago
The Java version does additional optimizations that his Go version doesn't do and he mentions that at the end of the post. The Java version is really optimized and is an interesting read.
- avinassh 3y ago> The Java version is really optimized and is an interesting read. is there any similar blog post on the Java optimisations?
- dsff3f3f3f 3y agoNot that I know of. I just looked at the code and the commit history but a more in depth article would certainly be interesting.
- o11c 3y agohttps://news.ycombinator.com/item?id=39467885 https://news.ycombinator.com/item?id=39467885 but it looks like there have been improvements since.
- cempaka 3y agoCliff Click did a walkthrough of his solution on YouTube: https://youtu.be/NJNIbgV6j-Y?si=Wj97f-Imw5nfIzF7 https://youtu.be/NJNIbgV6j-Y?si=Wj97f-Imw5nfIzF7
- lucianbr 3y agohttps://questdb.io/blog/billion-row-challenge-step-by-step/ https://questdb.io/blog/billion-row-challenge-step-by-step/
- neonsunset 3y agoThe more accurate statement would be is Go implementatation is incapable of accessing optimizations that exist in Java and then Java is incapable of optimizations performed by C# and C++ implementations. See https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-fastest-on-linux-my-optimization-journey/#results https://hotforknowledge.com/2024/01/13/1brc-in-dotnet-among-...
- dsff3f3f3f 3y agoGo is perfectly capable of all of the additional optimizations that are in the fastest Java implementation that is linked in the article.
- neonsunset 3y agoUntil some time ago Go did not even have inlining profitability logic in the compiler and could only inline leaf functions, something which is worse than JVM implementations could do in...2005 or so I think? Are you sure?
- AtlasBarfed 3y agoWell the Go guy probably didn't read it because "java doesn't interest him"