mirror of
https://github.com/golang/go
synced 2024-11-15 11:10:22 -07:00
1028d973d2
This is for the changes in CL 577935. Change-Id: I8f70dd36c89aaede11a37744c0f279439e01eb13 Reviewed-on: https://go-review.googlesource.com/c/go/+/586895 Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@golang.org>
24 lines
1.0 KiB
Markdown
24 lines
1.0 KiB
Markdown
## Compiler {#compiler}
|
|
|
|
The build time overhead to building with [Profile Guided Optimization](/doc/pgo) has been reduced significantly.
|
|
Previously, large builds could see 100%+ build time increase from enabling PGO.
|
|
In Go 1.23, overhead should be in the single digit percentages.
|
|
|
|
<!-- https://go.dev/issue/62737 , https://golang.org/cl/576681, https://golang.org/cl/577615 -->
|
|
The compiler in Go 1.23 can now overlap the stack frame slots of local variables
|
|
accessed in disjoint regions of a function, which reduces stack usage
|
|
for Go applications.
|
|
|
|
<!-- https://go.dev/cl/577935 -->
|
|
For 386 and amd64, the compiler will use information from PGO to align certain
|
|
hot blocks in loops. This improves performance an additional 1-1.5% at
|
|
a cost of an additional 0.1% text and binary size. This is currently only implemented
|
|
on 386 and amd64 because it has not shown an improvement on other platforms.
|
|
Hot block alignment can be disabled with `-gcflags=[<packages>=]-d=alignhot=0`
|
|
|
|
## Assembler {#assembler}
|
|
|
|
## Linker {#linker}
|
|
|
|
|