When programming day to day in C++, we frequently take for granted the hardware instructions we're creating. You may have heard that system calls are expensive, but do you know what a system call actually does? You may have heard of calling conventions, but do you know what that looks like in practice? All too often we take these and other aspects of our systems as a kind of uninvestigated lore.
In this talk we're taking a deep dive into how computers work when you strip off the veneer of C++ code. We'll cover assembly basics and delve into system calls, calling conventions, atomics, and other low-level aspects of computer hardware. Our primary focus will be x86-64/Linux, but we'll touch on Arm and other operating systems where relevant.
View Slides
David Sankel is a Principal Scientist, leads Adobe's Software Technology Lab, and is an active member of the C++ Standardization Committee. His experience spans microservice architectures, CAD/CAM, computer graphics, visual programming languages, web applications, computer vision, and cryptography. He is a frequent speaker at C++ conferences and specializes in large-scale software engineering and advanced C++ topics. David’s interests include dependently typed languages, semantic domains, EDSLs, and functional reactive programming. He was the project editor of the C++ Reflection TS, is the Executive Director of the Boost Foundation, and authored several C++ proposals including pattern matching and language variants.