Hey everyone, let's start with something fundamental and very important: Garbage collector.
3 part series by https://twitter.com/ardanlabs about GC (semantics, tracing, pacing respectively).
https://ardanlabs.com/blog/2018/12/garbage-collection-in-go-part1-semantics.html
https://ardanlabs.com/blog/2019/05/garbage-collection-in-go-part2-gctraces.html
https://ardanlabs.com/blog/2019/07/garbage-collection-in-go-part3-gcpacing.html
3 part series by https://twitter.com/ardanlabs about GC (semantics, tracing, pacing respectively).
https://ardanlabs.com/blog/2018/12/garbage-collection-in-go-part1-semantics.html
https://ardanlabs.com/blog/2019/05/garbage-collection-in-go-part2-gctraces.html
https://ardanlabs.com/blog/2019/07/garbage-collection-in-go-part3-gcpacing.html
SLOC and how to make it faster by twitter.com/boyter
slides: https://boyter.org/static/gophercon-syd-presentation repo: https://github.com/boyter/scc #golang
slides: https://boyter.org/static/gophercon-syd-presentation repo: https://github.com/boyter/scc #golang
Rewriting wc utility in #golang and beating C
https://ajeetdsouza.github.io/blog/posts/beating-c-with-70-lines-of-go/
https://ajeetdsouza.github.io/blog/posts/beating-c-with-70-lines-of-go/
#golang and how memory is managed (also what's a memory span) by twitter.com/blanchonvincent
https://medium.com/a-journey-with-go/go-memory-management-and-allocation-a7396d430f44
https://medium.com/a-journey-with-go/go-memory-management-and-allocation-a7396d430f44
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/
https://xwu64.github.io/2019/02/27/Understanding-Golang-sleep-function/
#golang low-level calling convention on x86-64 (July 2018) by twitter.com/kena42
https://science.raphael.poss.name/go-calling-convention-x86-64.html
https://science.raphael.poss.name/go-calling-convention-x86-64.html
Memory profiling and load testing with Vegeta by twitter.com/mark_a_phelps
https://www.markphelps.me/2019/11/profiling-to-reduce-memory-allocations/
https://www.markphelps.me/2019/11/profiling-to-reduce-memory-allocations/
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/
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
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
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/
Quick example for check pointer:
gotip run -gcflags=all=-d=checkptr main.go)
https://blog.gopheracademy.com/advent-2019/safe-use-of-unsafe-pointer/
How syscalls are handled by #golang runtime https://utcc.utoronto.ca/~cks/space/blog/programming/GoSchedulerAndSyscalls
And again about memory, but now from a transistor level to #golang GC https://blog.learngoprogramming.com/a-visual-guide-to-golang-memory-allocator-from-ground-up-e132258453ed
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/
https://blogtitle.github.io/go-advanced-concurrency-patterns-part-3-channels/
User defined traces for
https://medium.com/@felipedutratine/user-defined-runtime-trace-3280db7fe209
go tool trace
util and an example how to use it #golang https://medium.com/@felipedutratine/user-defined-runtime-trace-3280db7fe209
Post by twitter.com/commaok about interning strings in #golang https://commaok.xyz/post/intern-strings/
Sneaky race conditions and granular locks #golang and #rust by twitter.com/empijei
https://blogtitle.github.io/sneaky-race-conditions-and-granular-locks/
https://blogtitle.github.io/sneaky-race-conditions-and-granular-locks/
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/
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/
https://eng.uber.com/optimizing-m3/