This repo contains all the stuff used during the talk I gave at the Italian C++ Community meetup in Modena, 2018/12/13. Please feel free to steal everything you want, if you think you're going to use it.
Please note that some submodules are needed to have all the stuff working properly, be sure to git clone --recursive
.
Path | What to expect |
---|---|
slides/ |
The hugo site that generates the full slide deck (published here). Just cd into it and launch hugo server . |
examples/ |
Show me the code. |
scripts/ |
Helper scripts to carry out some tedious stuff during the live coding. Not interesting unless you are very lazy (like me). |
During the talk we saw a bunch of Linux tools, summarizing all of them here as a reference:
Tool | What??? |
---|---|
perf |
The definitive profiling toolbox. Seriously. |
lstopo |
Show the NUMA topology of your system. |
The most interesting examples I'm using are inspred by this talk by Chandler Carruth. You should watch it now. Seriously.
- Optimized C++, Kurt Guntheroth - a monumental overview of whys and wherefores of optimization, entirely focused on
C++
. - Brendan Gregg's blog - methodologies, flamegraphs and a great
perf
guide, definitely a must. - Profiling & tracing with
perf
, zine by Julia Evans - great summary ofperf
capabilities plus it looks great, nice to have it hanging around on the desk. - Computer latencies in human terms by Matt Godbolt - when you need to know how many coffees you can brew while paying the toll for an L3 miss.
- Operation costs in CPU clock cycles - a nice infographic about this crazy topic.
- All the conference talks by Chandler Carruth, seriously. If you want some titles to start with, Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My! and Going Nowhere Faster are a must.
- All the conference talks by Matt Godbolt, seriously. If you want some titles to start with (you lazy lad), Memory and Caches and What Has My Compiler Done for Me Lately? are a must.