Can C++ Data-oriented-design be Improved?
Talkat CppCon 2023 · on Thursday, 2023-10-05· at 14:00· Cottonwood 8/9, 6700 North Gaylord Rockies Boulevard·
summary
Claim: yes it can be improved by rethinking data as transformations and moving work to the compiler. Uses modern C++ features (C++20 Concepts, ranges, void_t, templates and requires) and proposes transformation-oriented design implemented with compile-time functional programming and type lists and transform packages. Prototype replaces virtual-based image loaders with a typelist of static transform packages, removing virtual calls and enabling compile-time dispatch; example code is rough but the approach demonstrates better modularity and optimization opportunities.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 3:24Data-oriented design philosophy
- 8:31Functional programming vs OOP
- 15:00OOP paradigms contrasted
- 22:09Transformation-oriented design
- 28:10Image loading library redesign
- 40:23Function existence checks in C++
- 47:08Modern C++ code simplification
- 50:04Conclusion
related talks
01h 28mData-Oriented Design and C++
01h 01mUsing Modern C++ to Eliminate Virtual Functions
59mConcepts driven design
59mFunctional Programming: data
56mConcepts - Evolution or Revolution
01h 38mC++20: Reaching for the Aims of C++
58mThe Imperatives Must Go! [Functional Programming in Modern C++]
01h 09mFunctional Programming in C++
