
CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”
About this video
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.
Why it appears in the archive
HN points to it as a concrete demonstration of object-oriented versus cache-friendly design and the performance effects of branch misprediction.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
> 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: [VIDEO] The interesting result is that although the DoD approach is eventually faster a branch misprediction causes havoc until uncovered.
Read original comment ↗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]: [VIDEO]
Read original comment ↗Matt Godbolt's talk on ray tracers, shows how effective that change can be. Think it was that talk anyway. [VIDEO]
Read original comment ↗