Source : https://nullprogram.com/blog/2018/11/21/
Here’s the list for CppCon 2017. These are roughly ordered from highest to lowest recommendation:
- Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler’s Lid”
- Chandler Carruth “Going Nowhere Faster”
- James McNellis “Everything You Ever Wanted to Know about DLLs”
- John Regehr “Undefined Behavior in 2017 (part 1 of 2)”
- John Regehr “Undefined Behavior in 2017 (part 2 of 2)”
- Piotr Padlewski “Undefined Behaviour is awesome!”
- Tobias Fuchs “Multidimensional Index Sets for Data Locality in HPC Applications”
- John D. Woolverton “C Pointers”
- Charles Bailey “Enough x86 Assembly to Be Dangerous”
- Tony Van Eerd “An Interesting Lock-free Queue - Part 2 of N”
- Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
- Fedor Pikus “Read, Copy, Update, then what? RCU for non-kernel programmers”
- Ansel Sermersheim “Multithreading is the answer. What is the question? (part 1 of 2)”
- Ansel Sermersheim “Multithreading is the answer. What is the question? (part 2 of 2)”
- Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++”
- Alfred Bratterud “Deconstructing the OS: The devil’s In the side effects” (counterpoint)
- P. McKenney, M. Michael & M. Wong “Is Parallel Programming still hard? PART 1 of 2”
- P. McKenney, M. Michael & M. Wong “Is Parallel Programming still hard? PART 2 of 2”
- Adrien Devresse “Nix: A functional package manager for your C++ software stack”
- Mathieu Ropert “API & ABI Versioning…”
- Paul Blinzer “Heterogeneous System Architecture - Why Should You Care?”
- Mathieu Ropert “Using Modern CMake Patterns to Enforce a Good Modular Design”
- Allan Deutsch “Esoteric Data Structures and Where to Find Them”
- D. Rodriguez-Losada Gonzalez “Faster Delivery of Large C/C++ Projects with…”
-
Robert Schumacher “Don’t package your libraries, write packagable libraries!”
-
Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
-
Fedor Pikus “Design for Performance”
-
JF Bastien “Signed integers are two’s complement”
-
Alan Talbot “Moving Faster: Everyday efficiency in modern C++”
-
Geoffrey Romer “What do you mean “thread-safe”?”
-
Chandler Carruth “Spectre: Secrets, Side-Channels, Sandboxes, and Security”
-
Bob Steagall “Fast Conversion From UTF-8 with C++, DFAs, and SSE Intrinsics”
-
Nir Friedman “Understanding Optimizers: Helping the Compiler Help You”
-
Barbara Geller & Ansel Sermersheim “Undefined Behavior is Not an Error”
-
Matt Godbolt “The Bits Between the Bits: How We Get to main()”
-
Mike Shah “Let’s Intercept OpenGL Function Calls…for Logging!”
-
Kostya Serebryany “Memory Tagging and how it improves C/C++ memory safety”
-
Patricia Aas “Software Vulnerabilities in C and C++”
-
Patricia Aas “Make It Fixable: Preparing for Security Vulnerability Reports”
-
Greg Law “Debugging Linux C++”
-
Simon Brand “How C++ Debuggers Work”
-
Odin Holmes “Concurrency Challenges of Interrupt Service Routines” There were three talks strictly about C++ that I thought were interesting from a language design perspective. So I think they’re worth recommending, too. (In fact, they’re a sort of ammo against using C++ due to its insane complexity.)
-
Nicolai Josuttis “The Nightmare of Initialization in C++”
-
Timur Doumler “Can I has grammar?”
-
Richard Powell “How to Argue(ment)”
Only three this year. The last is about C++, but I thought it was interesting.
- JF Bastien “Deprecating volatile”
- J. Bialek, S. Block “Killing Uninitialized Memory: Protecting the OS Without Destroying Performance”
- Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”
Four more worthwhile talks in 2020. The first is about the C++ abstract machine, but is nearly identical to the C abstract machine. The second is a proverbial warning about builds. The rest are about performance, and while the context is C++ the concepts are entirely applicable to C.
- Bob Steagall “Back to Basics - The Abstract Machine”
- Dave Steffen “Build Everything From Source - A Case Study in Fear”
- Bob Steagall “Adventures in SIMD-Thinking” (part 2)
- Alex Reinking “Halide - A Language for Fast, Portable Computation on Images and Tensors”
Finally, here are a few more good presentations from other C++ conferences which you can just pretend are about C:
- CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior…”
- CppCon 2014: Mike Acton “Data-Oriented Design and C++” (this is a personal favorite of mine)
- CppCon 2014: Chandler Carruth “Efficiency with Algorithms, Performance with Data Structures”
- CppCon 2015: Chandler Carruth “Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!”
- CppCon 2016: Chandler Carruth “High Performance Code 201: Hybrid Data Structures”
- Meeting Cpp 2015: Chandler Carruth: Understanding Compiler Optimization
- BoostCon 2013: Chandler Carruth: Optimizing the Emergent Structures of C++
- CppCon 2016: Nicholas Ormrod “The strange details of std::string at Facebook”