This edition
The 1 Billion Row Challenge is a simple, data-intensive task, that nonetheless allows to explore many optimization ideas and techniques in Go.
In this workshop, we start with a baseline implementation and interactively improve on the solution, learning about benchmarking, different performance characteristics of standard library types, concurrency patterns, fast data structures, useful operating system facilities and more.
LEVEL: Intermediate
Past Editions
The io package offers efficient primitives and utilities to work with data and data streams. This talk highlights the core I/O interfaces and additional helpers from the standard library. We will see, when and how to implement these interfaces yourself and look at some existing implementations.
In this workshop participants can familiarize themselves with the support for concurrency and parallel programming in the language and the standard library. We’ll explore channels and goroutines, the sync and context package, and a few general patterns for writing robust concurrent programs.
Interfaces are crucial for decomposing and combining functionality in Go programs. Among the interfaces in the standard library two are a bit more prominent, as they provide simple, yet powerful facilities to work with data streams: io.Reader and io.Writer.