@@ -177,13 +177,14 @@ <h2 id="runtime">Runtime</h2>
177
177
< p > <!-- CL 543255 -->
178
178
The runtime now keeps type-based garbage collection metadata nearer to each
179
179
heap object, improving the CPU performance (latency or throughput) of Go programs
180
- by 1&mdash ;3%.
180
+ by 1&ndash ;3%.
181
181
This change also reduces the memory overhead of the majority Go programs by
182
182
approximately 1% by deduplicating redundant metadata.
183
183
Some programs may see a smaller improvement because this change adjusts the size
184
184
class boundaries of the memory allocator, so some objects may be moved up a size
185
185
class.
186
- < br />
186
+ </ p >
187
+ < p >
187
188
A consequence of this change is that some objects' addresses that were previously
188
189
always aligned to a 16 byte (or higher) boundary will now only be aligned to an 8
189
190
byte boundary.
@@ -749,7 +750,8 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
749
750
< p > <!-- https://go.dev/issue/60773 -->
750
751
The execution tracer has been completely overhauled in this release, resolving several long-standing
751
752
issues and paving the way for new use-cases for execution traces.
752
- < br />
753
+ </ p >
754
+ < p >
753
755
Execution traces now use the operating system's clock on most platforms (Windows excluded) so
754
756
it is possible to correlate them with traces produced by lower-level components.
755
757
Execution traces no longer depend on the reliability of the platform's clock to produce a correct trace.
@@ -759,13 +761,15 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
759
761
Execution traces now contain information about the operating system threads that goroutines executed on.
760
762
The latency impact of starting and stopping execution traces has been dramatically reduced.
761
763
Execution traces may now begin or end during the garbage collection mark phase.
762
- < br />
764
+ </ p >
765
+ < p >
763
766
To allow Go developers to take advantage of these improvements, an experimental
764
767
trace reading package is available at < a href ="/pkg/golang.org/x/exp/trace "> golang.org/x/exp/trace</ a > .
765
768
Note that this package only works on traces produced by programs built with Go 1.22 at the moment.
766
769
Please try out the package and provide feedback on
767
770
< a href ="https://github.com/golang/go/issues/62627 "> the corresponding proposal issue</ a > .
768
- < br />
771
+ </ p >
772
+ < p >
769
773
If you experience any issues with the new execution tracer implementation, you may switch back to the
770
774
old implementation by building your Go program with < code > GOEXPERIMENT=noexectracer2</ code > .
771
775
If you do, please file an issue, otherwise this option will be removed in a future release.
0 commit comments