www.cppnow.org
/ cppnow
---
Dispatching Techniques in C++ - Jonathan Müller - CppNow 2023
Slides: github.com/boo...
---
At the core of an interpreter is a loop that iterates over instructions and executes them in order.
This requires dispatching: based on the current instruction it needs to select different code.
A fast interpreter requires a fast instruction dispatcher, but so does everything else that needs to switch over a fixed set of different options.
This talk investigates at various dispatching techniques, from simple switch statements to jump tables.
We'll look at performance analysis tools, benchmarks, and lots and lots of assembly code, in order to learn ways to trick the compiler into generating the assembly code that we actually want.
Even if you don't need to actually write an interpreter or other dispatcher, you will learn a lot about optimization.
---
Jonathan Müller
Jonathan is a library developer at think-cell. In his spare time, he works on various C++ open source libraries for memory allocation, cache-friendly containers, or parsing. He also blogs at foonathan.net and is a member of the C++ standardization committee.
---
Video Sponsors: think-cell and Bloomberg Engineering
Audience Audio Sponsors: Innoplex and Maryland Research Institute
---
Videos Filmed & Edited By Bash Films: bashfilms.com/
RU-vid Channel Managed & Optimized By Digital Medium Ltd: events.digital...
---
CppNow 2024
www.cppnow.org
/ cppnow
---
#boost #cpp #cppprogramming
26 авг 2024