This past week I attended Gophercon 2015, in Denver, CO. It was also a chance to get together with the rest of the InfluxDB team. And because the Go community is still relatively young and small, it was a great chance to meet, in person, some of the best people working with Go today.
Many of the talks were quite good, and the following in particular stood out.
Go GC: Solving the Latency Problem
This was probably the best talk of the conference – a technical discussion of a key component of the Go runtime. With some humour thrown in, Rick Hudson from Google showed us numbers for the 1.5 release of Go that look very promising. As far as Rick is concerned, the GC-pause problem has been solved, and this could be very important for databases and distributed systems written in Go.
When nodes of a distributed system experience long pauses due to GC, the effects are the same as a partition. So improvements in this area are critical.
Prometheus: Designing and Implementing a Modern Monitoring Solution in Go
Since we at InfluxDB are building a time-series database and analytics platform, this talk was of particular interest. But Björn did a worthwhile bait-and-switch on us, and spent most of the talk discussing how to increment counters without explicit locking. The trick they used to increment float64 counters in a high-performance manner was highly amusing and clever.
The Evolution of Go
Robert Griesemer, whom I have met before, gave a very interesting talk on the evolution of Go. Particularly striking was the parallels he drew between Go and Oberon-2. He showed us code from both languages that performed the same work, and the layout of the each was remarkably similar — particularly the use of Methods with Receivers. A fascinating talk which just shows you that there are very few new ideas.
Go Dynamic Tools
I’ve seen fuzz-testing in action only quite rarely. But after Dmitry Vyukov’s talk on go-fuzz I may have to take a second look. Particularly cool is the versifier, which can actually learn (in a basic fashion) the structure of a text-based protocol, and therefore inject more meaningful fuzz.
There were many other great talks too, including two by my colleagues at InfluxDB, Paul Dix and Ben Johnson.
Gophercon 2015 was a great conference and I’m looking forward to 2016.