CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”
CppCon1 HN recommender · recommended in 1 month, 2019-2025
77K views · 7 years ago · talk · evergreen
Matt Godbolt builds a toy path tracer in C++ in three different styles and compares them on clarity, testability, compile time and run-time performance. The talk was given at CppCon 2019.
HN points to it as a concrete demonstration of object-oriented versus cache-friendly design and the performance effects of branch misprediction.
1:15:46CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
CppCon
178K views • 9 years ago
1:00:58CppCon 2017: Chandler Carruth “Going Nowhere Faster”
CppCon
113K views • 9 years ago
1:04:26CppCon 2018: G. Nishanov “Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”
CppCon
40K views • 8 years ago
1:29:54CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"
CppCon
188K views • 11 years ago
1:13:41CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
CppCon
235K views • 12 years ago
1:30:03C++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”
CppNow
11K views • 8 years ago
1:00:21CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”
CppCon
29K views • 7 years ago
1:01:09Plenary: Performance Matters - Emery Berger - CppCon 2020
CppCon
32K views • 6 years ago
1:27:46CppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
862K views • 12 years ago
55:49CppCon 2016: Chandler Carruth “High Performance Code 201: Hybrid Data Structures"
CppCon
119K views • 10 years ago
1:33:022013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++
CppNow
34K views • 13 years ago
1:00:46CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
CppCon
271K views • 8 years ago
1:29:06CppCon 2015: Herb Sutter "Writing Good C++14... By Default"
CppCon
193K views • 11 years ago
57:39CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."
CppCon
94K views • 10 years ago
1:19:52CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
CppCon
264K views • 10 years ago
59:53CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions”
CppCon
147K views • 7 years ago
1:04:33CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"
CppCon
53K views • 12 years ago
36:10CppCon 2019: Emery Berger “Mesh: Automatically Compacting Your C++ Application's Memory”
CppCon
15K views • 7 years ago
1:47:45CppCon 2017: Herb Sutter “Meta: Thoughts on generative C++”
CppCon
105K views • 9 years ago
1:05:39The One-Decade Task: Putting std::atomic in CUDA. - Olivier Giroux - CppCon 2019
CppCon
11K views • 7 years ago
3 comments from Hacker News
Matt Godbolt's talk on ray tracers, shows how effective that change can be. Think it was that talk anyway. ▶ this video
Matt Godbolt gave an example of a significant performance hit caused by unnecessary short-circuiting in his CppCon 2019 talk[1]. EDIT: Deleted tangent. [1]: ▶ this video
> This is one of those things that is completely lost on someone who has never written in a low level language. I automatically assume JavaScript developers to be completely oblivious to this entire class of software development knowledge. This is a shame because not only are there lots of developers who write JS that have low-level backgrounds there are also a lot who haven't and are still interested. It seems rather snobby to jump in and write off a bunch of people because of the language they use on the assumption that they use the language without being aware of the implications. On OOP versus more cache friendly approaches and branch prediction this talk from CPPCon 2019 is great: ▶ this video The interesting result is that although the DoD approach is eventually faster a branch misprediction causes havoc until uncovered.