@@ -84,9 +84,41 @@ <h2 id="runtime">Runtime</h2>
84
84
< p >
85
85
TODO: complete this section, or delete if not needed
86
86
</ p >
87
+
88
+ < p > <!-- https://go.dev/issue/18138 --> <!-- CL 345889 -->
89
+ The runtime will now allocate initial goroutine stacks based on the historic
90
+ average stack usage of goroutines. This avoids some of the early stack growth
91
+ and copying needed in the average case in exchange for at most 2x wasted
92
+ space on below-average goroutines.
93
+ </ p >
94
+
95
+ < p > <!-- https://go.dev/issue/46279 --> <!-- CL 393354 -->
96
+ On Unix operating systems, Go programs that import package
97
+ < a href ="/pkg/os/ "> os</ a > now automatically increase the open file limit
98
+ (< code > RLIMIT_NOFILE</ code > ) to the maximum allowed value. Programs that need
99
+ a lower limit (for compatibility with < code > select</ code > , for example) can
100
+ set the limit back as needed, or lower the hard limit prior to starting the
101
+ Go program.
102
+ </ p >
103
+
104
+ < p > <!-- https://go.dev/issue/51485 --> <!-- CL 390421 -->
105
+ Unrecoverable fatal errors (such as concurrent map writes, or unlock of
106
+ unlocked mutexes) now print a simpler traceback excluding runtime metadata
107
+ (equivalent to a fatal panic) unless < code > GOTRACEBACK=system</ code > or
108
+ < code > crash</ code > . Runtime-internal fatal error tracebacks always include
109
+ full metadata regardless of the value of < code > GOTRACEBACK</ code >
110
+ </ p >
111
+
112
+ < p > <!-- https://go.dev/issue/50614 --> <!-- CL 395754 -->
113
+ Support for debugger-injected function calls has been added on ARM64,
114
+ enabling users to call functions from their binary in an interactive
115
+ debugging session when using a debugger that is updated to make use of this
116
+ functionality.
117
+ </ p >
118
+
87
119
< h2 id ="compiler "> Compiler</ h2 >
88
120
89
- < p > <!-- https://go.dev/issue/5496 CL 357330, 395714, 403979 -->
121
+ < p > <!-- https://go.dev/issue/5496 --> <!-- CL 357330, 395714, 403979 -->
90
122
The compiler now uses
91
123
a < a href ="https://en.wikipedia.org/wiki/Branch_table "> jump
92
124
table</ a > to implement large integer and string switch statements.
@@ -362,6 +394,44 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
362
394
</ dd >
363
395
</ dl > <!-- runtime -->
364
396
397
+ < dl id ="runtime/metrics "> < dt > < a href ="/pkg/runtime/metrics/ "> runtime/metrics</ a > </ dt >
398
+ < dd >
399
+ < p > <!-- https://go.dev/issue/47216 --> <!-- CL 404305 -->
400
+ The new < code > /sched/gomaxprocs:threads</ code > metric reports the current
401
+ < code > runtime.GOMAXPROCS</ code > value.
402
+ </ p >
403
+
404
+ < p > <!-- https://go.dev/issue/47216 --> <!-- CL 404306 -->
405
+ The new < code > /cgo/go-to-c-calls:calls</ code > metric reports the total
406
+ number of calls made from Go to C. This metric is identical to the < a
407
+ href ="/pkg/runtime/#NumCgoCall "> < code > runtime.NumCgoCall</ code > </ a >
408
+ function.
409
+ </ p >
410
+
411
+ < p > <!-- https://go.dev/issue/48409 --> <!-- CL 403614 -->
412
+ The new < code > /gc/limiter/last-enabled:gc-cycle</ code > metric reports the
413
+ last GC cycle when the GC CPU limiter was enabled.
414
+ </ p >
415
+ </ dd >
416
+ </ dl > <!-- runtime/metrics -->
417
+
418
+ < dl id ="runtime/pprof "> < dt > < a href ="/pkg/runtime/pprof/ "> runtime/pprof</ a > </ dt >
419
+ < dd >
420
+ < p > <!-- https://go.dev/issue/33250 --> <!-- CL 387415 -->
421
+ Stop-the-world pause times have been significantly reduced when
422
+ collecting goroutine profiles, reducing the overall latency impact to the
423
+ application.
424
+ </ p >
425
+
426
+ < p > <!-- CL 391434 -->
427
+ < code > MaxRSS</ code > is now reported in heap profiles for all Unix
428
+ operating systems (it was previously only reported for
429
+ < code > GOOS=android</ code > , < code > darwin</ code > , < code > ios</ code > , and
430
+ < code > linux</ code > ).
431
+ </ p >
432
+ </ dd >
433
+ </ dl > <!-- runtime/pprof -->
434
+
365
435
< dl id ="runtime/race "> < dt > < a href ="/pkg/runtime/race/ "> runtime/race</ a > </ dt >
366
436
< dd >
367
437
< p > <!-- https://go.dev/issue/49761 --> <!-- CL 333529 -->
@@ -379,6 +449,10 @@ <h3 id="minor_library_changes">Minor changes to the library</h3>
379
449
</ li >
380
450
</ ul >
381
451
</ p >
452
+
453
+ < p > <!-- CL 336549 -->
454
+ The race detector is now supported on S390.
455
+ </ p >
382
456
</ dd >
383
457
</ dl > <!-- runtime/race -->
384
458
0 commit comments