🇺🇦 Go performance channel
1.5K subscribers
39 photos
401 links
Go performance, runtime, concurrency.

Talks, blogposts and open source projects for gophers.

Not affiliated with Go team.

https://go-perf.dev

(mail: [email protected] / @olegkovalov)
Download Telegram
#golang team plans for 1st half 2023: dropping non-unified IR and removing associated GOEXPERIMENT, next steps for PGO, revamping the inliner, core health CI/CD tasks, batched write barriers, <...> long-term RAM efficiency efforts. https://github.com/golang/go/issues/43930#issuecomment-1386010267
In #Golang 1.20 the Go team introduced an experimental new method of memory management called Go arenas.

In this blog post we show how we combined continuous profiling with memory arenas to improve performance of one of our cloud services by ~8% !

https://pyroscope.io/blog/go-1-20-memory-arenas/
- #golang PGO will be auto by default in Go 1.21

- First PGO result from a google-internal app yields -2.75% CPU

- We might get better regalloc (registry allocator) (5% CPU gain)

Do you have any success stories by running PGO ? Please share!

Source: https://github.com/golang/go/issues/43930#issuecomment-1468713261
runtime/cgo: store M for C-created thread in pthread key

BenchmarkCGoInCThread results:
1. it's 28x faster, 3395 ns/op -> 121 ns/op, macOS & Intel i7-9750H CPU

2. it's 6.5x faster, 1495 ns/op -> 230 ns/op, Linux & Intel Xeon CPU E5-2630

https://go-review.googlesource.com/c/go/+/392854 #golang
Great #golang guides are coming! At least might be. From https://github.com/golang/go/issues/43930#issuecomment-1487438236
We are now using Swissmap, a new @golang hash table based on SwissTable that is faster and uses less memory than Golang's built-in map.

This blog by @AndyArt58355407 covers the motivation, design, and implementation of SwissMap for Dolt.

https://dolthub.com/blog/2023-03-28-swiss-map/