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 [email protected] 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.