Index   ¦   Tags   ¦   Archives



Optimizing after the optimizer: Link Time and Profile Guided Optimization

Italian C++ Conference 2019   Video and slides

Link Time Optimization (LTO) and Profile Guided Optimization (PGO) are two complementary techniques for improving the performance of C++ code beyond what’s normally achieved by optimizing compilers. In most projects, optimization and inlining opportunities are limited because C++ inherits the concept of independent translation units from C. LTO sidesteps this issue by deferring emission of the final binary code to the linker. After turning on LTO, Firefox saw 5% and up improvements in some benchmarks. PGO uses profiling data collected at runtime to optimize decisions made by the compiler, like branch predictions and code placement. This talk will explore LTO and PGO as implemented by clang. We’ll show how to enable these features in an example project, and dissect the generated code to understand how they work.


Lessons learned building a self-driving car on ROS

ROS Conference 2018   Video   Slides

Cruise Automation’s self driving car runs on top on ROS. This talk will share some of the lessons we learned while scaling up the ROS stack to a very complex Robotics problem and 500+ engineers. We will talk about performance, reliability, code organization and health, and the ways we have found ROS to excel or fall short.

© Nicolò Valigi. Built using Pelican. Theme originally by Giulio Fidente on github.