πΊπ¦ Go performance channel
arena: add experimental arena package https://go-review.googlesource.com/c/go/+/423361
By the way there are other patches https://github.com/golang/go/issues/51317#issuecomment-1279675552 #golang
GitHub
proposal: arena: new package providing memory arenas Β· Issue #51317 Β· golang/go
Note, 2023-01-17. This proposal is on hold indefinitely due to serious API concerns. The GOEXPERIMENT=arena code may be changed incompatibly or removed at any time, and we do not recommend its use ...
How we Eliminated 99% of gVisor Networking Memory Allocations with Enhanced Buffer Pooling
https://gvisor.dev/blog/2022/10/24/buffer-pooling/ #golang
https://gvisor.dev/blog/2022/10/24/buffer-pooling/ #golang
gvisor.dev
How we Eliminated 99% of gVisor Networking Memory Allocations with Enhanced Buffer Pooling
Nice crypto #golang patch: Update BoringCrypto, support ARM64, strip unneeded parts in binary (10mb -> 2mb)
https://go-review.googlesource.com/c/go/+/423362
https://go-review.googlesource.com/c/go/+/423362
Making a #golang program 42% faster with a one character change
https://hmarr.com/blog/go-allocation-hunting/
https://hmarr.com/blog/go-allocation-hunting/
Hmarr
Making a Go program run 1.7x faster with a one character change β’ Harry Marr
Programmer and engineering manager working at GitHub. Co-founded Dependabot, and helped build Monzo and GoCardless.
cmd/compile: handle simple inlined calls in staticinit
For the cmd/go binary, this CL cuts the number of init-time allocations from about 1920 to about 1620 (a 15% reduction). #golang
https://github.com/golang/go/commit/b1678e508bf04b32fcd8153d09c39ff25b51d287
For the cmd/go binary, this CL cuts the number of init-time allocations from about 1920 to about 1620 (a 15% reduction). #golang
https://github.com/golang/go/commit/b1678e508bf04b32fcd8153d09c39ff25b51d287
GitHub
cmd/compile: handle simple inlined calls in staticinit Β· golang/go@b1678e5
Global variable initializers like
var myErr error = &myError{"msg"}
have been converted to statically initialized data
from the earliest days of Go: there is no init-ti...
var myErr error = &myError{"msg"}
have been converted to statically initialized data
from the earliest days of Go: there is no init-ti...
Nice comment by Brian C. Mills regarding new #golang sync.Map methods https://github.com/golang/go/issues/51972#issuecomment-1315912196
And by the way... @go_perf
is also available here https://mastodon.cloud/@go_perf and here https://twitter.com/go_perf
is also available here https://mastodon.cloud/@go_perf and here https://twitter.com/go_perf
mastodon.cloud
πΊπ¦ Go performance channel (@[email protected])
152 Posts, 14 Following, 239 Followers Β· #golang performance, runtime, concurrency. Talks, blogposts and open source projects for #gophers (mail: [email protected]). Not affiliated with @golang team.
Building a custom code search index in #golang for searchcode.com
As always @boyter post are amazing (thanks for doing & writing this!)
https://boyter.org/posts/how-i-built-my-own-index-for-searchcode/
As always @boyter post are amazing (thanks for doing & writing this!)
https://boyter.org/posts/how-i-built-my-own-index-for-searchcode/
A GC-friendly #golang interning cache.
> This change will be in Go 1.20 and it has zero exposed APIs: you just upgrade Go and every application that opens multiple TLS connections will be automagically a little lighter and faster. β¨
https://words.filippo.io/dispatches/certificate-interning/ by @FiloSottile
> This change will be in Go 1.20 and it has zero exposed APIs: you just upgrade Go and every application that opens multiple TLS connections will be automagically a little lighter and faster. β¨
https://words.filippo.io/dispatches/certificate-interning/ by @FiloSottile
Filippo Valsorda
A GC-Friendly Go Interning Cache
Go 1.20 is adding an interning cache for reused certificates. The entries are reference-counted with the help of the garbage collector and finalizers.
Large-Scale, Semi-Automated #golang Garbage Collection Tuning at @UberOpenSource @P99CONF
https://www.p99conf.io/session/large-scale-semi-automated-go-garbage-collection-tuning-at-uber/
https://www.p99conf.io/session/large-scale-semi-automated-go-garbage-collection-tuning-at-uber/
P99 CONF
Large-Scale, Semi-Automated Go Garbage Collection Tuning at Uber
Uberβs Cristian Velazquez talks about tuning garbage collection for Go to scale applications across 70,00 cores to maintain 30 mission-critical services.
π Go 1.20 Release Candidate 1 is released!
πββοΈ Run it in dev! Run it in prod! File bugs! https://go.dev/issue/new
π£ Announcement: https://groups.google.com/g/golang-announce/c/iqUo0Spdl9I
π¦ Download: https://go.dev/dl/#go1.20rc1
#golang (via https://twitter.com/golang/status/1600612450197446675)
πββοΈ Run it in dev! Run it in prod! File bugs! https://go.dev/issue/new
π£ Announcement: https://groups.google.com/g/golang-announce/c/iqUo0Spdl9I
π¦ Download: https://go.dev/dl/#go1.20rc1
#golang (via https://twitter.com/golang/status/1600612450197446675)
GitHub
GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.
πΊπ¦ Go performance channel
π Go 1.20 Release Candidate 1 is released! πββοΈ Run it in dev! Run it in prod! File bugs! https://go.dev/issue/new π£ Announcement: https://groups.google.com/g/golang-announce/c/iqUo0Spdl9I π¦ Download: https://go.dev/dl/#go1.20rc1 #golang (via https://β¦
The runtime now has experimental support for memory-safe arena allocation that makes it possible to eagerly free memory in bulk. It has the potential to improve CPU performance by up to 15% in memory-allocation-heavy applications. (c)
π #golang
π #golang
πΊπ¦ Go performance channel
π Go 1.20 Release Candidate 1 is released! πββοΈ Run it in dev! Run it in prod! File bugs! https://go.dev/issue/new π£ Announcement: https://groups.google.com/g/golang-announce/c/iqUo0Spdl9I π¦ Download: https://go.dev/dl/#go1.20rc1 #golang (via https://β¦
#golang 1.20 adds preview support for profile-guided optimization (PGO).
#golang runtime: diagnostics improvements tracking issue
Great initiative by twitter.com/mknyswe
https://github.com/golang/go/issues/57175
Great initiative by twitter.com/mknyswe
https://github.com/golang/go/issues/57175
GitHub
runtime: performance and diagnostics meeting notes Β· Issue #57175 Β· golang/go
Since 2022, members of the Go team and the Go community have met every two weeks to discuss Go runtime topics. Until 2025 the focus was mainly on diagnostics, but we've also delved into plenty ...
CockroachDB:
We took a close look at how the Go scheduler can affect latencies, and then tried taming it by using control theory and patching the runtime.
π» Read on: https://cockroa.ch/3WkgG5L
#golang
https://twitter.com/CockroachDB/status/1603482942499594240
We took a close look at how the Go scheduler can affect latencies, and then tried taming it by using control theory and patching the runtime.
π» Read on: https://cockroa.ch/3WkgG5L
#golang
https://twitter.com/CockroachDB/status/1603482942499594240
Cockroach Labs
Rubbing control theory on the Go scheduler
How CockroachDB uses control theory, studies CPU scheduler latencies, builds forms of cooperative scheduling, and patches the Go runtime.
π‘ Go 1.19 now includes support for a soft memory limit!
Michael Knyszek tells us what this is and how you can use it at Go Day 2022 β goo.gle/3FxDFnl
Michael Knyszek tells us what this is and how you can use it at Go Day 2022 β goo.gle/3FxDFnl
YouTube
How to avoid out-of-memory conditions in Go
In this session, Michael Knyszek discusses the new soft memory limit feature coming in Go 1.19. Watch along and learn how you can avoid out-of-memory conditions in production and improve your application's resource economy.
Speaker: Michael Knyszek
Originalβ¦
Speaker: Michael Knyszek
Originalβ¦
Faster #golang code by being mindful of memory (by @ArthurBusser)
https://f4t.dev/software/go-performance-memory/
https://f4t.dev/software/go-performance-memory/
f4t.dev
Faster Go code by being mindful of memory
Advent of Code 2022, day 6