How the Go runtime implements maps efficiently without generics
This post discusses how maps are implemented in Go. It is based on a presentation I gave at the GoCon Spring 2018 conference in Tokyo, Japan.
Here’s a small quiz derived from some incorrect advice from an AI coding assistant.
Visit dave.cheney.net → RSS feedOn Hacker News Sep 2012 – Jun 2020
Software Engineering 25Programming Languages 25Systems & Performance 9Career & Management 6History & Retro Computing 2Society, Policy & Culture 1
This post discusses how maps are implemented in Go. It is based on a presentation I gave at the GoCon Spring 2018 conference in Tokyo, Japan.
This is the first in a series of articles analysing the performance improvements in the Go 1.1 release.
This post is a slightly edited version of my November presentation to the San Francisco chapter of Papers We Love.
gcvis is a simple way of visualising the operation of the garbage collector within a Go process. Here is a screenshot of it in operation. The rest of this article explores how gcvis works and how to interpret its results.
The Go runtime, in addition to providing the usual services of garbage collection, goroutine scheduling, timers, network polling and so forth, contains facilities to enable extra debugging output and even alter the behaviour of the runtime itself.
Anthony Starks has remixed my original Google Present based slides using his fantastic Deck presentation tool. You can check out his remix over on his blog, mindchunk.blogspot.com.au/2014/06/remixing-with-deck .
JSON is important, damn near everything that we do as programmers or operators involves JSON at some point. JSON decoding is expensive, if your product talks JSON then performance of marshalling data in and out of JSON is important. This is a talk about designing an efficient replacement for encoding/json.Decoder .
This is a post about performance. Most of the time when worrying about the performance of a piece of code the overwhelming advice should be (with apologies to Brendan Gregg) don’t worry about it, yet. However there is one area where I counsel developers to think about the performance implications of a design, and that…
The start of September brings a close to the Go 1.4 merge window . From now until the release in December, only bug fixes and tweaks will be accepted.