High-Speed Packet Transmission in #golang: From net.Dial to AF_XDP by @atoonk
> You'll see how we get to 18.8Mpps with just 8 cores.
https://toonk.io/sending-network-packets-in-go/index.html
> You'll see how we get to 18.8Mpps with just 8 cores.
https://toonk.io/sending-network-packets-in-go/index.html
Andree's Musings
High-Speed Packet Transmission in Go: From net.Dial to AF_XDP
Pushing limits in Go: from net.Dial to syscalls, AF_PACKET, and lightning-fast AF_XDP. Benchmarking packet sending performance..
2 big change in #golang crypto:
- x/crypto: migrate packages to the standard library
- x/crypto: freeze and deprecate a few more packages
https://github.com/golang/go/issues/65269 & https://github.com/golang/go/issues/65250
- x/crypto: migrate packages to the standard library
- x/crypto: freeze and deprecate a few more packages
https://github.com/golang/go/issues/65269 & https://github.com/golang/go/issues/65250
GitHub
x/crypto: migrate packages to the standard library · Issue #65269 · golang/go
The Go cryptographic libraries are currently split between the standard library and the golang.org/x/crypto module. This document discusses the issues with this split and proposes a plan to move th...
time: garbage collect unstopped Tickers and Timers #golang
https://github.com/golang/go/commit/508bb17edd04479622fad263cd702deac1c49157
Funny screenshot from: https://github.com/golang/go/issues/8898
https://github.com/golang/go/commit/508bb17edd04479622fad263cd702deac1c49157
Funny screenshot from: https://github.com/golang/go/issues/8898
What an interesting case!
> cmd/compile: special case getting a random map entry?
Unfortunately, it uses a lot of CPU.
https://github.com/golang/go/issues/66361 #golang
> cmd/compile: special case getting a random map entry?
for k, v = range m {
break
}
Unfortunately, it uses a lot of CPU.
https://github.com/golang/go/issues/66361 #golang
GitHub
cmd/compile: special case getting a random map entry? · Issue #66361 · golang/go
Proposal Details Sometimes people try to get a random key/value out of a map, writing: for k, v = range m { break } One example is/was in database/sql. Unfortunately, it uses a lot of CPU: So I rew...
Measuring your system’s performance using software (#golang edition) by @lemire
https://lemire.me/blog/2024/03/17/measuring-your-systems-performance-using-software-go-edition/
https://lemire.me/blog/2024/03/17/measuring-your-systems-performance-using-software-go-edition/
proposal: Signal types for controlling struct layout #golang by @dr2chase@ohai.social
https://github.com/golang/go/issues/66408
https://github.com/golang/go/issues/66408
GitHub
structs: add HostLayout "directive" type · Issue #66408 · golang/go
Proposal Details Abstract This proposes a new package for zero-sized types whose presence in a structure’s list of fields would control how the compiler lays out those fields, for the purpose of al...
🇺🇦 Go performance channel
proposal: Signal types for controlling struct layout #golang by @[email protected] https://github.com/golang/go/issues/66408
> David Chase: Struct packing/reordering is a mechanical thing humans shouldn’t be doing. If we had been doing this with protobufs, we’d have huge savings. 3% RAM footprint, ~20% GC cache traffic. We may end up doing GopherPen and being able to reorder struct fields eliminates a lot of the RAM footprint expense.
https://github.com/golang/go/issues/43930#issuecomment-2009816508
https://github.com/golang/go/issues/43930#issuecomment-2009816508
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...
🎊 Go 1.22.2 and 1.21.9 are released!
🔐 Security: security: fix CVE-2023-45288
📢 Announcement: https://groups.google.com/g/golang-announce/c/YgW0sx8mN3M
📦 Download: https://go.dev/dl/#go1.22.2
#golang
🔐 Security: security: fix CVE-2023-45288
📢 Announcement: https://groups.google.com/g/golang-announce/c/YgW0sx8mN3M
📦 Download: https://go.dev/dl/#go1.22.2
#golang
go.dev
All releases - The Go Programming Language
Fivefold Slower Compared to #golang? Optimizing #rust Protobuf Decoding Performance.
https://www.greptime.com/blogs/2024-04-09-rust-protobuf-performance
https://www.greptime.com/blogs/2024-04-09-rust-protobuf-performance
Greptime
5x Slower than Go? Optimizing Rust Protobuf Decoding Performance
When optimizing the write performance of GreptimeDB v0.7, we found that the time spent on parsing Protobuf data with the Prometheus protocol was nearly five times longer than that of similar products implemented in Go. This led us to consider optimizing the…
🇺🇦 Go performance channel
unique: new package with unique.Handle is accepted! #golang https://github.com/golang/go/issues/62483#issuecomment-1791156853
unique: add unique package and implement Make/Handle
got merged https://github.com/golang/go/commit/a088e230d4e7892b15851babe161bbd1766738a1
got merged https://github.com/golang/go/commit/a088e230d4e7892b15851babe161bbd1766738a1
GitHub
unique: add unique package and implement Make/Handle · golang/go@a088e23
This change adds the unique package for canonicalizing values, as
described by the proposal in #62483.
Fixes #62483.
Change-Id: I1dc3d34ec12351cb4dc3838a8ea29a5368d59e99
Reviewed-on: https://go-r...
described by the proposal in #62483.
Fixes #62483.
Change-Id: I1dc3d34ec12351cb4dc3838a8ea29a5368d59e99
Reviewed-on: https://go-r...
We purpose-built Sonic to reduce the time it takes to read and write data from the network with minimal latency. Compared to #golang standard net package, Sonic achieves 5x to 50x lower latency.
https://www.talos.com/insights/talos-goes-sonic
https://github.com/talostrading/sonic
https://www.talos.com/insights/talos-goes-sonic
https://github.com/talostrading/sonic
Talos
Talos built Sonic to reduce the time it takes to read and write data from the network with minimal latency
At Talos, we're building the best trading platform to help institutions trade digital assets. Today, we're excited to share the open-sourcing of Sonic, our custom-built Go library designed to reduce the time it takes to read and write data from the network…
🎊 Go 1.22.3 and 1.21.10 are released!
🔏 Security: cmd/go: arbitrary code execution during build on darwin; net: malformed DNS message can cause infinite loop
📣 Announcement: https://groups.google.com/g/golang-announce/c/wkkO4P9stm0
📦 Download: https://go.dev/dl/#go1.22.3
#golang
🔏 Security: cmd/go: arbitrary code execution during build on darwin; net: malformed DNS message can cause infinite loop
📣 Announcement: https://groups.google.com/g/golang-announce/c/wkkO4P9stm0
📦 Download: https://go.dev/dl/#go1.22.3
#golang
go.dev
All releases - The Go Programming Language
🇺🇦 Go performance channel
> David Chase: Struct packing/reordering is a mechanical thing humans shouldn’t be doing. If we had been doing this with protobufs, we’d have huge savings. 3% RAM footprint, ~20% GC cache traffic. We may end up doing GopherPen and being able to reorder struct…
It's accepted! 🎉
cmd/compile: intrinsify atomic And/Or on arm64 #golang
https://go-review.googlesource.com/c/go/+/584715
https://go-review.googlesource.com/c/go/+/584715
Reclaiming CPU for free with #golang Profile Guided Optimization #pgo
https://blog.cloudflare.com/reclaiming-cpu-for-free-with-pgo/
https://blog.cloudflare.com/reclaiming-cpu-for-free-with-pgo/
The Cloudflare Blog
Reclaiming CPU for free with Go's Profile Guided Optimization
Golang 1.20 introduced support for Profile Guided Optimization (PGO) to the go compiler. This allows guiding the compiler to introduce optimizations based on the real world behaviour of your system. This post covers the process we created for experimenting…
Boost performance of #golang applications with profile guided optimization #googleio
https://www.youtube.com/watch?v=FwzE5Sdhhdw
https://www.youtube.com/watch?v=FwzE5Sdhhdw
YouTube
Boost performance of Go applications with profile guided optimization
By profiling Go applications at runtime, the Go compiler can make better optimization decisions in subsequent builds, leading to substantial improvements in CPU performance. In this technical session, developers will learn how profile-guided optimization…
encoding/binary: add Append, Encode and Decode https://github.com/golang/go/commit/04bf36e97305197d09554739391f607afde1fd74 #golang