3 ms·
I don't think any obvious 10%+ opportunities have been overlooked. Go is optimizing for fast and simple builds, which is a bit at odds with optimal code gen. So
by felixge 2y ago
I don't think any obvious 10%+ opportunities have been overlooked. Go is optimizing for fast and simple builds, which is a bit at odds with optimal code gen. So I think the biggest opportunity is to use Go implementations that are based on aggressively optimizing compilers such as LLVM and GCC. But those implementations tend to be a few major versions behind and are likely to be less stable than the official compiler.
That being said, I'm sure there are a lot of remaining incremental optimization opportunities that could add up to 10% over time. For example a faster map implementation [1]. I'm sure there is more.
Another recent perf opportunity is using pgo [2] which can get you 10% in some cases. Shameless plug: We recently GA'ed our support for it at Datadog [3].
[1] https://github.com/golang/go/issues/54766 https://github.com/golang/go/issues/54766
[2] https://go.dev/doc/pgo https://go.dev/doc/pgo
[3] https://www.datadoghq.com/blog/datadog-pgo-go/ https://www.datadoghq.com/blog/datadog-pgo-go/