Google has officially released Go 1.23, bringing significant performance improvements and reduced build times, particularly for projects using profile-guided optimization (PGO). This update enhances the efficiency of builds on 386 and amd64 architectures, allowing developers to compile code more quickly while benefiting from optimizations that improve runtime performance. The changes mark another step in Go’s evolution as a high-performance, open-source language for systems programming.
Go 1.23, released on August 13, comes six months after Go 1.22 and is now available for download across platforms, including Linux, macOS, and Windows, via go.dev. Previously, enabling PGO could double build times for large projects. With Go 1.23, the overhead has been dramatically reduced to single-digit percentages, making PGO a more viable option for developers looking to optimize performance. Additionally, compiler enhancements now align hot blocks in loops and reduce stack usage by overlapping stack frame slots of local variables in non-overlapping regions of a function.
The update also introduces changes to the Go language itself. The experimental “range-over-func” feature from Go 1.22 is now fully integrated, allowing iterator functions to be used as range expressions in for-range loops. Additionally, Go 1.23 includes preview support for generic type aliases, offering developers greater flexibility when working with generics.
On the tooling side, Go 1.23 introduces Go Telemetry, which collects usage statistics to help the Go team analyze how the toolchain is being used. This data will provide valuable insights into performance bottlenecks and guide future improvements, ensuring Go continues to evolve in line with developer needs.