πŸ‡ΊπŸ‡¦ Go performance channel's Avatar

πŸ‡ΊπŸ‡¦ Go performance channel

@go-perf.dev.bsky.social

#golang performance, runtime, concurrency. Talks, blogposts and open source projects for #gophers (mail: hello@go-perf.dev). Not affiliated with Go team. https://go-perf.dev/

617 Followers  |  17 Following  |  63 Posts  |  Joined: 26.02.2024  |  1.5682

Latest posts by go-perf.dev on Bluesky

Preview
How Go 1.24's Swiss Tables saved us hundreds of gigabytes | Datadog Go 1.24's Swiss Tables cut our map memory usage by up to 70% in high-traffic workloads. Here's how we profiled the savings and improved performance.

How Go 1.24's Swiss Tables saved us hundreds of gigabytes
#golang www.datadoghq.com/blog/enginee...

25.07.2025 12:28 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
How to store Go pointers from assembly The standard Go toolchain comes with an assembler out of the box. Said assembler is highly idiosyncratic, using syntax inherited from Plan 9 and choosing its own names for platform-specific instructio...

How to store Go pointers from assembly mazzo.li/posts/go-asm... #golang

23.06.2025 15:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - jordanlewis/gcassert: Assert your Go code is inlined and bounds-check eliminated Assert your Go code is inlined and bounds-check eliminated - jordanlewis/gcassert

Assert your #golang code is inlined and bounds-check eliminated

github.com/jordanlewis/...

07.05.2025 07:52 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Golang sync.Pool is not a silver bullet A deep dive into Go's sync.Pool, its benefits, pitfalls, and when to use it (or not)

Golang sync.Pool is not a silver bullet

wundergraph.com/blog/golang-... #golang

12.04.2025 07:10 β€” πŸ‘ 8    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
proposal: runtime: CPU limit-aware GOMAXPROCS default Β· Issue #73193 Β· golang/go Overview Change the Go runtime on Linux to use CPU cgroup quota limits to set the default value of GOMAXPROCS. This is a concrete proposal for the ideas discussed in #33803. I've included a lot of ...

proposal: runtime: CPU limit-aware GOMAXPROCS default #golang

github.com/golang/go/is... by @prattmic.com

07.04.2025 05:49 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
More predictable benchmarking with testing.B.Loop - The Go Programming Language Better benchmark looping in Go 1.24.

More predictable benchmarking with testing.B.Loop #golang go.dev/blog/testing...

02.04.2025 18:52 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
[security] Go 1.24.2 and Go 1.23.8 are released

🎊 Go 1.24.2 and 1.23.8 are released!

πŸ” Security: Includes a security fix for net/http (CVE-2025-22871).

πŸ“£ Announcement: groups.google.com/g/golang-ann...

πŸ“¦ Download: go.dev/dl/#go1.24.2

#golang

01.04.2025 19:34 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
func mult(a, b float64) float64 {
	return a * b
}

func Benchmark1(b *testing.B) {
	for i := 0; i < b.N; i++ {
		mult(3.0, 5.0)
	}
}

func Benchmark2(b *testing.B) {
	for range b.N {
		mult(3.0, 5.0)
	}
}

func Benchmark3(b *testing.B) {
	for b.Loop() {
		mult(3.0, 5.0)
	}
}

func mult(a, b float64) float64 { return a * b } func Benchmark1(b *testing.B) { for i := 0; i < b.N; i++ { mult(3.0, 5.0) } } func Benchmark2(b *testing.B) { for range b.N { mult(3.0, 5.0) } } func Benchmark3(b *testing.B) { for b.Loop() { mult(3.0, 5.0) } }

This is important: is the new Go 1.24 benchmark loop syntax making my code 7x slower, and why?
#golang

21.03.2025 13:14 β€” πŸ‘ 21    πŸ” 6    πŸ’¬ 1    πŸ“Œ 0
Preview
Diagnostics - The Go Programming Language

Diagnostics wiki go.dev/doc/diagnost... #golang

22.03.2025 08:41 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Faster interpreters in Go: Catching up with C++ β€” PlanetScale A novel technique for implementing dynamic language interpreters in Go, applied to the Vitess SQL evaluation engine

Faster interpreters in Go: Catching up with C++

planetscale.com/blog/faster-... #golang

20.03.2025 20:37 β€” πŸ‘ 29    πŸ” 7    πŸ’¬ 1    πŸ“Œ 0
Preview
cmd/compile: slow escape analysis in large package in the typescript compiler Β· Issue #72815 Β· golang/go Go version go version go1.24.1 linux/amd64 Output of go env in your module/workspace: AR='ar' CC='gcc' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g' CGO_ENABLED='1' CGO_FFLAGS='-O2 -g' ...

Awesome work by @thepudds.bsky.social github.com/golang/go/is...

Compiling the typescript compiler went from 70s to 30s !

13.03.2025 10:44 β€” πŸ‘ 50    πŸ” 10    πŸ’¬ 1    πŸ“Œ 0
Preview
Pres Mihaylov on X: "Someone on the Go team decided to take a "quick stab" at fixing a small bug in Go's escape analysis, resulting in a 5x increase in typescript performance. Why Go you ask? https://t.co/ez7sD590zg" / X Someone on the Go team decided to take a "quick stab" at fixing a small bug in Go's escape analysis, resulting in a 5x increase in typescript performance. Why Go you ask? https://t.co/ez7sD590zg

Someone on the Go team decided to take a "quick stab" at fixing a small bug in Go's escape analysis, resulting in a 5x increase in typescript performance.

Why Go you ask? #golang

x.com/PreslavMihay...

link to the issue github.com/golang/go/is...

14.03.2025 16:27 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
From unique to cleanups and weak: new low-level tools for efficiency - The Go Programming Language Weak pointers and better finalization in Go 1.24.

From unique to cleanups and weak: new low-level tools for efficiency

go.dev/blog/cleanup... #golang

07.03.2025 07:51 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
[security] Go 1.24.1 and Go 1.23.7 are released

πŸŽ‰ Go 1.24.1 and 1.23.7 are released!

πŸ” Security: Includes a security fix for net/http (CVE-2025-22870)

πŸ—£ Announcement: groups.google.com/g/golang-ann...

πŸ—ƒ Download: go.dev/dl/#go1.24.1

#golang

04.03.2025 20:44 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Faster Go maps with Swiss Tables - The Go Programming Language Go 1.24 improves map performance with a brand new map implementation

"Faster Go maps with Swiss Tables" by Michael Pratt β€” go.dev/blog/swissta...

#golang

04.03.2025 20:43 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
cmd/compile: poor spill decisions making code 14% slower Β· Issue #71868 Β· golang/go At commit 266b0cf from earlier today (but also with some older toolchains, not claiming the behavior is new), suppose you: GOOS=linux GOARCH=amd64 go test -c math/big go tool objdump -s big.nat.sca...

cmd/compile: poor spill decisions making code 14% slower

github.com/golang/go/is...

#golang

22.02.2025 22:56 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Go 1.24 Release Notes - The Go Programming Language

🧨 Go 1.24.0 is released!

πŸ“ Release notes: go.dev/doc/go1.24

⬇️ Download: go.dev/dl/#go1.24.0

#golang

12.02.2025 07:26 β€” πŸ‘ 13    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
design: add 54805-go-dynamic-tls.md by amusman Β· Pull Request #56 Β· golang/proposal design: add 54805-go-dynamic-tls.md

Proposal: Go general dynamic TLS (Thread Local Storage)

github.com/golang/propo... #golang

27.01.2025 13:53 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
[security] Go 1.23.5 and Go 1.22.11 are released

πŸŽ‰ Go 1.23.5 and 1.22.11 are released!

πŸ”’ Security: Includes security fixes for CVE-2024-45336 and CVE-2024-45341 in crypto/x509 and net/http

πŸ“‘ Announcement: groups.google.com/g/golang-ann...

πŸ“¦ Download: go.dev/dl/#go1.23.5

#golang

17.01.2025 12:34 β€” πŸ‘ 12    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

DWARF5 #golang

go-review.googlesource.com/c/go/+/635836 + github.com/golang/go/is...

18.12.2024 15:50 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Go 1.23.4 and Go 1.22.10 are released

πŸ₯³ Go 1.23.4 and 1.22.10 are released!

πŸ—£ Announcement: groups.google.com/g/golang-ann...

⬇️ Download: go.dev/dl/#go1.23.4

#golang

03.12.2024 19:50 β€” πŸ‘ 7    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Preview
Optimizing Go Performance with GOMAXPROCS Learn how to solve unexpected performance issues in Go applications by correctly configuring the GOMAXPROCS parameter for optimal CPU usage in containers

Go Production Performance Gotcha - GOMAXPROCS

metoro.io/blog/go-prod... #golang

27.11.2024 08:05 β€” πŸ‘ 11    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Gerrit Code Review

testing/synctest just hit master for #golang 1.24 πŸ˜­πŸŽ‰

go-review.googlesource.com/c/go/+/629735

A godsend for anyone writing integration tests.

I am definitely not rushing to update my slides for "What's coming in Go 1.24" at London Gophers in... two hours 😱

20.11.2024 16:31 β€” πŸ‘ 64    πŸ” 11    πŸ’¬ 5    πŸ“Œ 2
Preview
sync/atomic: operations cause unnecessary escapes Β· Issue #16241 Β· golang/go The atomic Load* and Store* operations cause their argument to unnecessarily escape. For example, in the following program, x is heap allocated: package main import "sync/atomic" func main() { var ...

sync/atomic: operations cause unnecessary escapes #16241 got fixed

github.com/golang/go/is... #golang

16.11.2024 13:34 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Go Turns 15 - The Go Programming Language Happy 15th birthday, Go!

Go Turns 15

go.dev/blog/15years

#golang

13.11.2024 11:09 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Kind of πŸ˜‚

09.11.2024 08:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
memory regions Β· golang go Β· Discussion #70257 I'm starting this discussion to collect early feedback on a draft design for a kind of region-based memory management in Go. There is no prototype yet, only a design and a preliminary evaluation. P...

Memory regions #golang

github.com/golang/go/di...

09.11.2024 08:12 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
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 the commun...

> Swissmaps is enabled by default πŸŽ‰Michael Pratt: There will be followup optimizations. Make use of compiler intrinsics.

#golang 1.24 gonna be awesome

From github.com/golang/go/is...

06.11.2024 14:14 β€” πŸ‘ 14    πŸ” 8    πŸ’¬ 1    πŸ“Œ 0
Go 1.23.2 and Go 1.22.8 are released

πŸŽ‰ Go 1.23.2 and 1.22.8 are released!

πŸ—£ Announcement: groups.google.com/g/golang-ann...

⬇️ Download: go.dev/dl/#go1.23.2

#golang

02.10.2024 08:46 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Register allocation in the Go compiler | Red Hat Developer As a maintainer of the GCC register allocator (RA), I naturally have a keen interest in the register allocators used in various industrial compilers.

Register allocation in the #golang compiler

developers.redhat.com/articles/202...

26.09.2024 07:37 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

@go-perf.dev is following 17 prominent accounts