Allow more inlining of functions that construct closures #golang
> This will help significantly with the performance of the functions <...>, which have a somewhat complicated nesting of closures with a performance-critical fast path.
https://go-review.googlesource.com/c/go/+/482356
> This will help significantly with the performance of the functions <...>, which have a somewhat complicated nesting of closures with a performance-critical fast path.
https://go-review.googlesource.com/c/go/+/482356
cmd/compile: add reassociate pass to rebalance commutative operations.
That's one small SSA pass for compiler, one giant leap for #golang performance 😉
https://github.com/golang/go/pull/60015
That's one small SSA pass for compiler, one giant leap for #golang performance 😉
https://github.com/golang/go/pull/60015
GitHub
cmd/compile: add reassociate pass to rebalance commutative operations by ryan-berger · Pull Request #60015 · golang/go
Currently the compiler groups expressions with commutative operations such as a + b + c + d as so: (a + (b + (c + d))) which is suboptimal for CPU instruction pipelining.
This pass balances commuta...
This pass balances commuta...
The absurd cost of finalizers in #golang by @lemire
https://lemire.me/blog/2023/05/19/the-absurd-cost-of-finalizers-in-go/
https://lemire.me/blog/2023/05/19/the-absurd-cost-of-finalizers-in-go/
Using UPX for compression might work against you
https://usrme.xyz/posts/using-upx-for-compression-might-work-against-you/
https://usrme.xyz/posts/using-upx-for-compression-might-work-against-you/
> We are using the Iguana compression already in Sneller Cloud for very fast and efficient log analysis. We are planning on releasing it as a standalone compression library for #golang in the near future.
https://sneller.io/blog/decompressing-at-over-10-gigabytes-per-second/
https://sneller.io/blog/decompressing-at-over-10-gigabytes-per-second/
Sneller
Introducing Iguana: extremely fast SIMD-optimized decompression
Improving Observability of #golang Services by @flow_blockchain
https://flow.com/engineering-blogs/golang-services-improving-observability
https://flow.com/engineering-blogs/golang-services-improving-observability
Flow
Improving Observability of GoLang Services
Jan 31, 2023
Execution tracer overhaul by @mknyswe
#golang issue: https://github.com/golang/go/issues/60773 & doc:
https://go.googlesource.com/proposal/+/ac09a140c3d26f8bb62cbad8969c8b154f93ead6/design/60773-execution-tracer-overhaul.md
#golang issue: https://github.com/golang/go/issues/60773 & doc:
https://go.googlesource.com/proposal/+/ac09a140c3d26f8bb62cbad8969c8b154f93ead6/design/60773-execution-tracer-overhaul.md
GitHub
runtime/trace: execution tracer overhaul · Issue #60773 · golang/go
Execution tracer overhaul Authored by mknyszek@google.com with a mountain of input from others. In no particular order, thank you to Felix Geisendorfer, Nick Ripley, Michael Pratt, Austin Clements,...
🇺🇦 Go performance channel
Execution tracer overhaul by @mknyswe #golang issue: https://github.com/golang/go/issues/60773 & doc: https://go.googlesource.com/proposal/+/ac09a140c3d26f8bb62cbad8969c8b154f93ead6/design/60773-execution-tracer-overhaul.md
> Thanks to work in Go 1.21 cycle, the execution tracer’s run-time overhead was reduced from about -10% throughput and +10% request latency in web services to about 1% in both for most applications.
🇺🇦 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/
howardjohn's blog
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…