C++ and Beyond 2012: Herb Sutter - atomic Weapons 1 of 2
alexsmail4 HN recommenders · recommended in 5 months, 2020–2024
talk · advanced · evergreen · 2020–2024 on HN
Herb Sutter's deep C++ and Beyond 2012 talk on atomics and the C++ memory model, covering why programmers chasing top performance need to understand hardware ordering. This is part one of two.
HN treats it as the classic go-to for learning atomics and memory ordering, recommended over books.
Up next
2 mo on HNC++ and Beyond 2012: Herb Sutter - atomic Weapons 2 of 2
alexsmail
2 HN recommender · 2019–2024
12 mo on HNMechanical Computer (All Parts) - Basic Mechanisms In Fire Control Computers
Excelsior10000
13 HN recommender · 2014–2025
3 mo on HN4 Chords | Music Videos | The Axis Of Awesome
The Axis of Awesome
3 HN recommender · 2012–2025
11 mo on HNCppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
7 HN recommender · 2017–2025
12 mo on HNLexical Scanning in Go - Rob Pike
GoogleFOSSSydney
13 HN recommender · 2012–2025
10 mo on HNCppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
9 HN recommender · 2018–2026
9 mo on HNRustConf 2018 - Closing Keynote - Using Rust For Game Development by Catherine West
Rust Programming Language
9 HN recommender · 2018–2023
10 mo on HNCppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
CppCon
13 HN recommender · 2016–2024
9 mo on HNIdeas about a new programming language for games.
Jonathan Blow
7 HN recommender · 2014–2025
9 mo on HNCppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
9 HN recommender · 2015–2026
9 mo on HNHow I program C
Eskil Steenberg
8 HN recommender · 2017–2025
9 mo on HNGoogle I/O 2012 - Go Concurrency Patterns
Google for Developers
9 HN recommender · 2012–2025
5 comments from Hacker News
"Is Parallel Programming Hard, And, If So, What Can You Do About It?" is one of the best books about atomics and concurrency, and my #2 recommendation. link My #1 actually isn't a book at all, but the two "atomic Weapons" talks by Herb Sutter, which are extremely good. ▶ this video link
Well written article, nice and to the point. Do recommend. Decades ago I declared myself too stupid to use shared memory with threading; I have learned to avoid this whenever possible, or abstract away the memory access under a safe layer as soon as possible. One of the greatest decisions of my career. Memory model semantics is one of the parts of systems programming that is generally poorly understood; I have had long discussions with senior programmers who have spent their careers carelessly threading their code without realizing what is happening under the hood. Not only did some of them not properly understand the acquire/release model, but they were not even aware of its existence. For a more in-depth explanation, I recommend Sutter's excellent talk "Atomic <> weapons": ▶ this video . It is a two hour lecture, but it will be worth your time.
For a more in depth introduction to the topic with a lot of practical code examples, I highly recommend Herb Sutter’s excellent talk: Part 1 ▶ this video Part 2 link
If you’re prepared and willing to learn much more about atomic operations than you ever thought you would, there’s no substitute to Herb Sutter’s classic talk ”atomic<> Weapons” from C++ And Beyond 2012 [1]. [1] ▶ this video
For a somewhat less "for dummies" treatment of the C++ memory model, see Herb Sutter's classic talk "atomic<> Weapons" [1]. [1] ▶ this video