Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

Go performance analysis in action

Francesc Campoy (source{d})
1:30pm5:00pm Tuesday, July 17, 2018
Emerging languages
Location: D137/138
Level: Intermediate
Average rating: *****
(5.00, 1 rating)

Who is this presentation for?

  • Software developers with an interest in performance

Prerequisite knowledge

  • A basic knowledge of Go

Materials or downloads needed in advance

What you'll learn

  • Explore tools to analyze programs and understand the possible causes of a lack of performance
  • Understand which tools work better for each kind of performance issue (tracing, pprof, etc.)

Description

Francesc Campoy Flores walks you through the tools that make Go a great programming language, from the well-known go tool to lesser-known tools that allow you to profile, debug, and understand the performance of your programs. Along the way, you’ll learn how to tune Visual Studio Code as a Go editor, although you are welcome to use any other editor—most provide great integration with Go.

This tutorial will cover the third chapter of Francesc’s full-day workshop and includes the following topics:

Introduction to performance

  • How to measure performance using the time command, Apache Benchmark, and others

Testing and benchmarking

  • Writing unit tests in Go and converting them into benchmarks
  • Keeping track of how performant your functions are

Profiling

  • The benefits and limitations of performance profiling
  • Using pprof for CPU and memory profiling and displaying the results as flame graphs

Runtime tracing

  • Using runtime tracing for a complementary point of view of performance that shows us what the program is doing when nothing is happening
Photo of Francesc Campoy

Francesc Campoy

source{d}

Francesc Campoy Flores is vice president of developer relations at source{d}, a startup applying ML to source code and building the platform for the future of developer tooling. Previously, he was a developer advocate for Google’s Cloud Platform and Go teams. Francesc is passionate about programming and programmers, especially Go and gophers, and he’s given many talks and workshops at conferences like Google I/O, Gophercon(s), GOTO, and OSCON. When he’s not on stage, he’s probably coding, writing blog posts, or working on his JustForFunc YouTube series, in which he hacks while cracking bad jokes.