Category: Dave Cheney

Fatih’s question

A few days ago Fatih posted this question on twitter. I’m going to attempt to give my answer, however to do that I need to apply some simplifications as my previous attempts to answer it involved a lot of phrases like a...

Read More

Mid-stack inlining in Go

In the previous post I discussed how leaf inlining allows the Go compiler to reduce the overhead of function calls and extend optimisation opportunities across function boundaries. In this post I’ll discuss the limits of...

Read More

Inlining optimisations in Go

This is a post about how the Go compiler implements inlining and how this optimisation affects your Go code. n.b This article focuses on gc the de facto Go compiler from The concepts discussed apply broadly to other...

Read More

go test -v streaming output

The testing package is one of my favourite packages in the Go standard library, not just because of its low noise approach to unit testing, but, over the lifetime of Go, it has received a steady stream of quality of life...

Read More