Matt Godbolt: Path Tracing Three Ways: A Study of C++ Style


Details
This is a C++ event co-hosted (well, let's be honest, they did all the work) by the Toronto C++ Users Group.
Let me just add that Matt Godbolt is as awesome as his name suggests.
There will be a zoom link listed on the day of the event.
---
C++ is a multi-paradigm language allowing us as developers to pick and choose among a variety of styles: procedural, functional, object oriented, and of course hybrids of those. How does the style of programming we choose affect code clarity, testability, ease of changes, compile time and run-time performance?
In this talk Matt will show a toy path tracer project (a form of ray tracer) implemented in three different styles: traditional object oriented, functional, and data-oriented design. He’ll then compare and contrast his experiences developing in each case, showing how often the compiler is able to reduce each style to similar performing code. There will be some surprises - and of course some Compiler Explorer usage!
About the Speaker:
Matt Godbolt is the creator of the Compiler Explorer website. He is passionate about writing efficient code. He has previously worked in trading, on mobile apps at Google, run his own C++ tools company and spent more than a decade making console games. When he's not hacking on Compiler Explorer, Matt enjoys writing emulators for old 8-bit computer hardware or building his own hardware.

Matt Godbolt: Path Tracing Three Ways: A Study of C++ Style