Testing out Profile-Guided Optimization on Dolt's SQL Benchmarks #golang by @DoltHub
https://www.dolthub.com/blog/2024-02-02-profile-guided-optimization/
https://www.dolthub.com/blog/2024-02-02-profile-guided-optimization/
Dolthub
Testing out Profile-Guided Optimization on Dolt's SQL Benchmarks
In this blog we try out Go's new profile-guided build optimizations on Dolt's SQL benchmarks and share the results
❤2
🇺🇦 Go performance channel
Go port of Google's Swiss Table hash table https://github.com/cockroachdb/swiss #golang
GitHub
runtime: use SwissTable · Issue #54766 · golang/go
Abstract From ByteDance Programming Language Team We suggest using SwissTable in the runtime to replace the original implementation of the hashmap. SwissTable is now used in abseil and rust by defa...
Understanding the #golang runtime - Jesus Espino @golab_conf
https://www.youtube.com/watch?v=YpRNFNFaLGY
https://www.youtube.com/watch?v=YpRNFNFaLGY
YouTube
Understanding the Go runtime - Jesus Espino
🔔 FOLLOW GOLAB CHANNEL 🔔
ABSTRACT:
The Go runtime is an essential part of every single Go compiled binary. Understanding what it does for us and the price we pay for it can be interesting.
This talk will explore what the runtime does internally and what…
ABSTRACT:
The Go runtime is an essential part of every single Go compiled binary. Understanding what it does for us and the price we pay for it can be interesting.
This talk will explore what the runtime does internally and what…
❤2
That will be awesome if SwissTable will land in #golang🤞(1.23 or 1.24?)
https://github.com/golang/go/issues/54766#issuecomment-1964278472
https://github.com/golang/go/issues/54766#issuecomment-1964278472
❤14
Balanced GC: A Copying Garbage Collector for #golang by Yifei Zhang @GopherCon
https://www.youtube.com/watch?v=DpQgJ06ZjGc
https://www.youtube.com/watch?v=DpQgJ06ZjGc
YouTube
GopherCon 2023: Balanced GC: A Copying Garbage Collector for Golang - Yifei Zhang
In this talk, we introduce balanced GC, which allows bump allocation for small pointerless objects in per-goroutine allocation buffers and uses a copying GC to manage that memory. Balanced GC can significantly accelerate object allocation and improve the…
❤3
QUIC implementation has landed in golang.org/x/net/quic #golang
https://github.com/golang/go/issues/58547#issuecomment-1967327705
https://github.com/golang/go/issues/58547#issuecomment-1967327705
❤14
Go 1.22.1 and 1.21.8 are released!
Security: Includes security fixes for crypto/x509, html/template, net/http, net/http/cookiejar, and net/mail.
Announcement: https://groups.google.com/g/golang-announce/c/5pwGVUPoMbg…
Download: https://go.dev/dl/#go1.22.1 #golang
Security: Includes security fixes for crypto/x509, html/template, net/http, net/http/cookiejar, and net/mail.
Announcement: https://groups.google.com/g/golang-announce/c/5pwGVUPoMbg…
Download: https://go.dev/dl/#go1.22.1 #golang
go.dev
All releases - The Go Programming Language
❤1
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..
❤8
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...
❤7
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
❤11
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/
❤8
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...
❤6
🇺🇦 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...
❤10
🎊 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
❤2
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…
❤4