▲ | zamadatix 7 months ago | |||||||
Go's int defaults to 64 bits on a 64 bit machine while C/Rust/Java are all defaulting to 32 bit on the author's machine. Editing the code and running local to get a difference factor, it looks like the same Go code with int takes 1.5x the amount of time as the int32 code on my machine. That puts it ~right next to Java (assuming the perf change maps 1:1). Remove the GC and it comes in ~right next to C++. Looking at the compiler assembly output on Godbolt it's fun to see all the extra panic info and checks Go adds before going to the loop whereas the C just segfaults from blasting forward anyways, sometimes with no detail. Anyways, that's why I don't like these types of "benchmarks" (micro tests made into a media post). By the time someone actually looks into them to see what's up everyone has already seen the results and moved on. | ||||||||
▲ | iambvk 7 months ago | parent | next [-] | |||||||
Thanks for this information. I wasn't aware that using 64-bit ints makes such a big difference in performance. Thank you. | ||||||||
| ||||||||
▲ | igouy 7 months ago | parent | prev [-] | |||||||
> By the time someone actually looks into them to see what's up everyone has already seen the results and moved on. Yep. |