net: add UDPMsg, (*UDPConn).ReadUDPMsgs, (*UDPConn).WriteUDPMsgs is accepted!
Faster UDP is not so far away! (#golang 1.20 ๐ค)
https://github.com/golang/go/issues/45886
Faster UDP is not so far away! (#golang 1.20 ๐ค)
https://github.com/golang/go/issues/45886
GitHub
net: add UDPMsg, (*UDPConn).ReadUDPMsgs, (*UDPConn).WriteUDPMsgs ยท Issue #45886 ยท golang/go
(co-written with @neild) Linux has recvmmsg to read multiple UDP packets from the kernel at once. There is no Recvmmsg wrapper func in golang.org/x/sys/unix. That's easy enough to add, but it&#...
๐บ๐ฆ Go performance channel
net: add UDPMsg, (*UDPConn).ReadUDPMsgs, (*UDPConn).WriteUDPMsgs is accepted! Faster UDP is not so far away! (#golang 1.20 ๐ค) https://github.com/golang/go/issues/45886
The Cloudflare Blog
Accelerating UDP packet transmission for QUIC
Significant work has gone into optimizing TCP, UDP hasn't received as much love, putting QUIC at a disadvantage. Let's explore a few tricks that help mitigate this.
๐บ๐ฆ Go performance channel
https://twitter.com/bboreham/status/1559907905578622977
YouTube
Obscure Go Optimisations - Bryan Boreham
Did you know that Go will sometimes embed a type-conversion silently into your program? And that conversion, especially if it requires a memory allocation, may be slowing things down by 20% or more? Come with us as Bryan shows how to look for these issuesโฆ
One more nice #golang JSON patch and 5% speed up. Sometimes it's enough just to read the code and remove a few lines.
by @mvdan_ https://go-review.googlesource.com/c/go/+/437558/
by @mvdan_ https://go-review.googlesource.com/c/go/+/437558/
Hey friends, what #golang community Youtube channels do you know?
I know @LondonGophers (https://www.youtube.com/c/LondonGophers/videos) can you share more? Thanks in advance!
I know @LondonGophers (https://www.youtube.com/c/LondonGophers/videos) can you share more? Thanks in advance!
A New ScyllaDB #golang Driver: Faster Than GoCQL and Its Rust Counterpart
https://www.scylladb.com/2022/10/12/a-new-scylladb-go-driver-faster-than-gocql-and-its-rust-counterpart/
https://www.scylladb.com/2022/10/12/a-new-scylladb-go-driver-faster-than-gocql-and-its-rust-counterpart/
ScyllaDB
A New ScyllaDB Go Driver: Faster Than GoCQL and Its Rust Counterpart - ScyllaDB
How we built a new Go ScyllaDB driver that's almost 4x faster than its GoCQL predecessor and 2X faster than its Rust counterpart.
arena: add experimental arena package https://go-review.googlesource.com/c/go/+/423361
๐บ๐ฆ 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.