πŸ‡ΊπŸ‡¦ Go performance channel
1.5K subscribers
39 photos
400 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
About time.Sleep and how it's implemented under the hood, sure, it's about #golang runtime

https://xwu64.github.io/2019/02/27/Understanding-Golang-sleep-function/
Analyzing #golang Executables by twitter.com/jebdec


Well, it's not about performance, but a very good post about executable internals.

https://pnfsoftware.com/blog/analyzing-golang-executables/
Sometimes you want to check new features from #golang master branch (also called tip).

There is no need to do it manually, just use gotip tool which does this perfectly

https://godoc.org/golang.org/dl/gotip
Have you read A Million WebSockets story with #golang ? It's from 2017 but twitter.com/gobwas has shared a lot of insights and low-level things. Repo: https://github.com/gobwas/ws

https://medium.freecodecamp.org/million-websockets-and-go-cc58418460bb
See a new article by @GopherAcademy about #golang pointers and how to use them properly (also checkptr command)

Quick example for check pointer:
gotip run -gcflags=all=-d=checkptr main.go)

https://blog.gopheracademy.com/advent-2019/safe-use-of-unsafe-pointer/
An experiment in rewriting sync primitives via #golang channels. Not a thing for production use, but a good practice, thanks twitter.com/empijei

https://blogtitle.github.io/go-advanced-concurrency-patterns-part-3-channels/
User defined traces for go tool trace util and an example how to use it #golang

https://medium.com/@felipedutratine/user-defined-runtime-trace-3280db7fe209
An interesting optimisation in #golang math/rand package by twitter.com/cafxx. Devirtualizing (avoiding interface calls) often improves code performance, but don't overuse it, please (it makes sense for hot code path).

https://go-review.googlesource.com/c/go/+/191538/
Famous story from Uber: How Uber Halved Our Metrics Ingestion Latency by (Briefly) Forking the #golang Compiler

https://eng.uber.com/optimizing-m3/