๐บ๐ฆ Go performance channel
โGo 1.21 Release Candidateโ by @elibendersky โ go.dev/blog/go1.21rc
> Go 1.21 improves build speed by up to 6%, largely thanks to building the compiler itself with PGO.
From https://github.com/golang/go/issues/43930
> SwissTable: Google3 may want to do some benchmarking on this. Maps are used heavily in google3. This may be of value to us.
There is a chance that next #golang releases will have a faster map implementation!
(Note: Google3 is Google's monorepo)
> SwissTable: Google3 may want to do some benchmarking on this. Maps are used heavily in google3. This may be of value to us.
There is a chance that next #golang releases will have a faster map implementation!
(Note: Google3 is Google's monorepo)
GitHub
Go compiler and runtime meeting notes ยท Issue #43930 ยท golang/go
Google's Go compiler and runtime team meets periodically (roughly weekly) to discuss ongoing development of the compiler and runtime. While not open to the public, there's been desire by th...
#golang linker optimisation in upcoming Go 1.21 https://go-review.googlesource.com/c/go/+/490915
(There is even more changes, see drop from Apr 24)
(There is even more changes, see drop from Apr 24)
Felix Geisendรถrfer:
Interesting proposal from Russ Cox to improve the accuracy of the mutex profiler in #golang.
If you hold a mutex for 10ms and 5 goroutines wait for 10ms each, only 10ms of contention are recorded. The proposal is to change this to 50ms ๐๐ป
https://github.com/golang/go/issues/61015
Interesting proposal from Russ Cox to improve the accuracy of the mutex profiler in #golang.
If you hold a mutex for 10ms and 5 goroutines wait for 10ms each, only 10ms of contention are recorded. The proposal is to change this to 50ms ๐๐ป
https://github.com/golang/go/issues/61015
Waiting for go1.21: Execution Tracing with < 1% Overhead
https://blog.felixge.de/waiting-for-go1-21-execution-tracing-with-less-than-one-percent-overhead/
https://blog.felixge.de/waiting-for-go1-21-execution-tracing-with-less-than-one-percent-overhead/
Felix Geisendรถrfer
Waiting for go1.21: Execution Tracing with < 1% Overhead
Learn about the upcoming go1.21 performance improvements that reduce the overhead of execution tracing from up to 20% to less than 1% for most applications.
Analyzing #golang Build Times https://blog.howardjohn.info/posts/go-build-times/
blog.howardjohn.info
Analyzing Go Build Times
Go is often praised for its fast build times.
While they are pretty quick, they are slow enough that I spend a lot of time waiting for them, enough that it prompted me to go down the rabbit hole of thoroughly analyzing them.
This post covers all aspects ofโฆ
While they are pretty quick, they are slow enough that I spend a lot of time waiting for them, enough that it prompted me to go down the rabbit hole of thoroughly analyzing them.
This post covers all aspects ofโฆ
Great initiative! Improvements to the #golang inliner https://github.com/golang/go/issues/61502
Design doc https://docs.google.com/document/d/1a6p7-nbk5PVyM1S2tmccFrrIuGzCyzclstBtaciHxVw
Design doc https://docs.google.com/document/d/1a6p7-nbk5PVyM1S2tmccFrrIuGzCyzclstBtaciHxVw
GitHub
cmd/compile: overhaul inliner ยท Issue #61502 ยท golang/go
Weโre starting a project to overhaul the inlining optimization pass in the Go compiler, with the goal of having a far more effective inliner in Go 1.22. This issue will track this work. This docume...
#golang proposal: time: stop requiring Timer/Ticker.Stop for prompt GC
https://github.com/golang/go/issues/61542 (almost a decade from the original https://github.com/golang/go/issues/8898 CC: @dvyukov )
https://github.com/golang/go/issues/61542 (almost a decade from the original https://github.com/golang/go/issues/8898 CC: @dvyukov )
GitHub
time: stop requiring Timer/Ticker.Stop for prompt GC ยท Issue #61542 ยท golang/go
After almost a decade, I have finally implemented #8898, special-casing the channels used for timers (or maybe the timers used for channels) so that the timers are not in the timer heap when there ...
Common pitfalls in Go benchmarking
https://eli.thegreenplace.net/2023/common-pitfalls-in-go-benchmarking/
By @elibendersky
https://eli.thegreenplace.net/2023/common-pitfalls-in-go-benchmarking/
By @elibendersky
๐บ๐ฆ Go performance channel
From @hackernews https://news.ycombinator.com/item?id=37054760
By the way, from release notes
> Go 1.21 improves build speed by up to 6%, largely thanks to building the compiler itself with PGO.
> Go 1.21 improves build speed by up to 6%, largely thanks to building the compiler itself with PGO.
Every nanosecond matter.
Restructuring code to win 15-20ns in time.Since: https://go-review.googlesource.com/c/go/+/518336
Remove your โ//go:linkname runtime.nanotime1โ after #golang 1.22 :D
Restructuring code to win 15-20ns in time.Since: https://go-review.googlesource.com/c/go/+/518336
Remove your โ//go:linkname runtime.nanotime1โ after #golang 1.22 :D
C and C++ Prioritize Performance over Correctness
https://research.swtch.com/ub
https://research.swtch.com/ub
Redesign #golang PCDATA encoding
> format that's >4x faster to decode than the Go 1.21 tables, while increasing binary size by only 1โ2.5%.
https://github.com/golang/go/issues/61984
> format that's >4x faster to decode than the Go 1.21 tables, while increasing binary size by only 1โ2.5%.
https://github.com/golang/go/issues/61984
GitHub
runtime,cmd/compile: redesign PCDATA encoding ยท Issue #61984 ยท golang/go
I've been experimenting with alternate encodings for the PCDATA tables, with the goal of significantly improving decode speed, at possibly a slight increase in binary size. @mknyszek, @dr2chase...
print(โlolโ) doubled the speed of my #golang function ๐
https://medium.com/@ludirehak/printing-lol-doubled-the-speed-of-my-go-code-e32e02fc3f92
https://medium.com/@ludirehak/printing-lol-doubled-the-speed-of-my-go-code-e32e02fc3f92
Medium
print(โlolโ) doubled the speed of my Go function
Here is a Go function, if_max(). It finds the max value of an array of integers. Simple enough:
โค6