Branchless Programming in C++ - Fedor Pikus - CppCon 2021
https://cppcon.org/ https://github.com/CppCon/CppCon2021 --- Have you ever written code like this: void f(bool b, long x, long& s) { if (b) s += x; } Probably you have. Would you like me to tell you how much performance you left on the table? With a small change, that function could be made 2.5 times faster. What about this code: if (a[i] && b[i]) do_something(); else do_something_else(); Would you believe me if I told you that, under some not-so-exotic conditions, this line runs four times slower than it could be? It’s true, and I’m going to show you when and why. This presentation will explain how modern CPUs handle computations to ensure that the hardware is used efficiently (which is how you get high performance from the processor). We will then learn how conditional code disrupts the ideal flow of computations and the countermeasures employed by the CPU designers to retain good performance in the presence of such code. Sometimes these measures are sufficient, often with the help of the compiler. But when they aren’t, it is up to the programmer to recover lost performance by coding with fewer branches. --- Fedor Pikus Fedor G Pikus is a Chief Engineering Scientist in the Design to Silicon division of Mentor Graphics Corp (Siemens business). His earlier positions included a Senior Software Engineer at Google and a Chief Software Architect for Calibre PERC, LVS, DFM at Mentor Graphics. He joined Mentor Graphics in 1998 when he made a switch from academic research in computational physics to the software industry. Fedor is a recognized expert on high-performance computing and C++, he presented his works at CPPCon, SD West, DesignCon, in Software Development Journal, and is also an O’Reilly author. His responsibilities as a Chief Scientist include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, design, and architecture of the software, and research in the new design and software technologies. Fedor has over 25 patents and over 100 papers and conference presentations on physics, EDA, software design, and C++ language. --- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk *--*

Using Coroutines to Implement C++ Exceptions for Freestanding Environments - Eyal Zedaka - CppCon 21

Back to Basics: C++ API Design - Jason Turner - CppCon 2022

Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques - Fedor G Pikus - C++Now 2024

The Cost of Concurrency Coordination with Jon Gjengset

Back to Basics: Templates (part 1 of 2) - Bob Steagall - CppCon 2021

CppCon 2018: Fedor Pikus “Design for Performance”

Your New Mental Model of constexpr - Jason Turner - CppCon 2021

Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022

CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”

Back to Basics: Test-driven Development - Fedor Pikus - CppCon 2019

Building the PERFECT Linux PC with Linus Torvalds

Back to Basics: Concurrency - Mike Shah - CppCon 2021

From C++ Templates to C++ Concepts - Metaprogramming: an Amazing Journey - Alex Dathskovsky

Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022

Linux Full Course for Beginners | Learn Linux System Administration

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

Condition Variable in Modern cpp and unique lock | Introduction to Concurrency in C++

Crust of Rust: Atomics and Memory Ordering

What is Low Latency C++? (Part 1) - Timur Doumler - CppNow 2023

