Abstract
I work on low-latency, high-throughput dataplane optimizations for a 5G packet core. Optimizing against the compute/cache bounds is an awesome challenge but can often be counter-intuitive, with innocuous changes leading to unexpected perf impacts.
Despite using rust for significant portions of our 5G product offering, the most performance critical part is written in C/C++. Curious, I decided to experiment with what rust offers in terms of performance tuning.
My proposal for this talk is an interactive quiz, I want to introduce the audience to a handful of optimizations to a compute-bound rust application and have them guess how those optimizations will impact the application's performance.
The goal is to introduce as many different optimization topics as possible. Topics I'm planning on covering include: benchmarking, profiling, performance counters, pointer chasing, the cache hierarchy, prefetching, branch prediction, runtime polymorphism, rust SIMD support, inlining, prefetching, hardware differences and the impact of memory allocation.
This is intended to be the talk that I wish I'd had when I started work in the performance domain.