C++ and Beyond 2012: Herb Sutter - atomic Weapons 2 of 2

https://channel9.msdn.com/Shows/Going... Download the slides. https://1drv.ms/b/s!Aq0V7yDPsIZOgcI0y... Abstract: This session in one word: Deep. It's a session that includes topics I've publicly said for years is Stuff You Shouldn't Need To Know and I Just Won't Teach, but it's becoming achingly clear that people do need to know about it. Achingly, heartbreakingly clear, because some hardware incents you to pull out the big guns to achieve top performance, and C++ programmers just are so addicted to full performance that they'll reach for the big red levers with the flashing warning lights. Since we can't keep people from pulling the big red levers, we'd better document the A to Z of what the levers actually do, so that people don't SCRAM unless they really, really, really meant to. Topics Covered: The facts: The C++11 memory model and what it requires you to do to make sure your code is correct and stays correct. We'll include clear answers to several FAQs: "how do the compiler and hardware cooperate to remember how to respect these rules?", "what is a race condition?", and the ageless one-hand-clapping question "how is a race condition like a debugger?" The tools: The deep interrelationships and fundamental tradeoffs among mutexes, atomics, and fences/barriers. I'll try to convince you why standalone memory barriers are bad, and why barriers should always be associated with a specific load or store. The unspeakables: I'll grudgingly and reluctantly talk about the Thing I Said I'd Never Teach That Programmers Should Never Need To Now: relaxed atomics. Don't use them! If you can avoid it. But here's what you need to know, even though it would be nice if you didn't need to know it. The rapidly-changing hardware reality: How locks and atomics map to hardware instructions on ARM and x86/x64, and throw in POWER and Itanium for good measure – and I'll cover how and why the answers are actually different last year and this year, and how they will likely be different again a few years from now. We'll cover how the latest CPU and GPU hardware memory models are rapidly evolving, and how this directly affects C++ programmers. For more information see https://alexsmail.blogspot.com/2017/1...

Keynote: Benchmarking - It's About Time - Matt Godbolt - C++Now 2026
▶︎

Keynote: Benchmarking - It's About Time - Matt Godbolt - C++Now 2026

C++ and Beyond 2012: Herb Sutter - atomic Weapons 1 of 2
▶︎

C++ and Beyond 2012: Herb Sutter - atomic Weapons 1 of 2

CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced.  What do they really do?”
▶︎

CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”

code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care
▶︎

code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care

Full Archon Guide - Build AI Coding Harnesses That Actually Ship (LIVE)
▶︎

Full Archon Guide - Build AI Coding Harnesses That Actually Ship (LIVE)

CppCon 2014: Herb Sutter "Back to the Basics! Essentials of Modern C++ Style"
▶︎

CppCon 2014: Herb Sutter "Back to the Basics! Essentials of Modern C++ Style"

A 28-year-old Steve Jobs gives a talk at the 1983 International Design Conference in Aspen
▶︎

A 28-year-old Steve Jobs gives a talk at the 1983 International Design Conference in Aspen

CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part I"
▶︎

CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part I"

The Scariest Chart In Electrical Engineering
▶︎

The Scariest Chart In Electrical Engineering

Bjarne Stroustrup (Creator of C++) On Why C++ is Faster than C
▶︎

Bjarne Stroustrup (Creator of C++) On Why C++ is Faster than C

CppCon 2016: Hans Boehm “Using weakly ordered C++ atomics correctly"
▶︎

CppCon 2016: Hans Boehm “Using weakly ordered C++ atomics correctly"

Allen Bradley PLC Programming Sequencer Tutorial. Sequence Control
▶︎

Allen Bradley PLC Programming Sequencer Tutorial. Sequence Control

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

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

Building an AI Dark Factory:  A Codebase That Writes Its Own Code, Live
▶︎

Building an AI Dark Factory: A Codebase That Writes Its Own Code, Live

Николай Бондаренко: настоящая красная оппозиция
▶︎

Николай Бондаренко: настоящая красная оппозиция

Arvid Norberg: The C++ memory model: an intuition
▶︎

Arvid Norberg: The C++ memory model: an intuition

Branchless Programming in C++ - Fedor Pikus - CppCon 2021
▶︎

Branchless Programming in C++ - Fedor Pikus - CppCon 2021

Beyond Sequential Consistency - Leveraging Atomics for Fun & Profit - Christopher Fretz - C++ on Sea
▶︎

Beyond Sequential Consistency - Leveraging Atomics for Fun & Profit - Christopher Fretz - C++ on Sea

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
▶︎

CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"