How much do amd64 microarchitecture levels help in Go?
25 points by vbernat
25 points by vbernat
Really not a fan of Lemire’s use of AI hero image which either say fuck all, or (as in this case) hint at the opposite of what the article actually says.
Also since roaring has C++ and rust implementations, having not checked the effects of microarchitectural levels on those feels lazy?
I wonder if Go could document a policy for defaults, e.g. "our defaults will target a machine built 10 years ago" so GOAMD64's default value would predictably increase over time.
I wonder though, if most people build applications that do mostly CRUD stuff,maybe some file IO, how big would the impact be?
If even v2 could bring good benefits, maybe that should be the default, still allowing to go back down to v1?
Google did that accidentally with its build tools and broke F-Droid's build servers which still run very old hardware. With computing becoming an even more expensive I think longevity for older hardware is becoming more important than a 30% improvement in synthetic benchmarks.
longevity for older hardware is becoming more important than a 30% improvement in synthetic benchmarks.
FWIW, it's not obvious to me that the environmental or financial impact of forcing an upgrade of a very old server is lower than the environmental resp. financial impact of forcing less-efficient code an all more-modern machines. That said, forced upgrades are never fun. (Even if "forced" really means "... or you have to compile your own binaries.")
Running "everywhere" is worth more than performance. This is a choice. I suppose people caring about performance know about that.
Oh wow… how have I never heard of this?! 🙈
I built an event sourcing indexing system that heavily relies on roaring bitmaps for composable indexes. This is gonna be good!