On Wednesday, 1 October 2014 at 15:17:33 UTC, po wrote:
On Wednesday, 1 October 2014 at 14:16:38 UTC, bearophile wrote:
Max Klyga:
https://www.youtube.com/watch?v=TH9VCN6UkyQ
A third talk (from another person) about related matters:
https://www.youtube.com/watch?v=rX0ItVEVjHc
He doesn't use RTTI, exceptions, multiple inheritance, STL,
templates, and lot of other C++ stuff. On the other hand he
writes data-oriented code manually, the compiler and language
give him only very limited help, and the code he writes looks
twiddly and bug-prone. So why aren't they designing a language
without most of the C++ stuff they don't use, but with
features that help them write the data-oriented code they need?
Bye,
bearophile
He (deliberately I'd guess)conflates cache friendly data
structures and access patterns with his particular preference
for a C style.
It is a fallacy that he presents as fact.
The key to these type of fast code isn't the C style, it is
the contiguous data layout, and cache friendly access patterns,
both of which are easily enough to perform in modern C++.
OOP style and AoS in general does cause cache unfriendly data
access. You can separate out your hot and cold data but at that
point you're not really programming in an OO style. He doesn't
use RTTI, templates, exceptions, etc. for different reasons than
cache friendliness.
At what point does he say it's difficult to code in a SoA style
in C++? He clearly states he sees no advantage to C++ over C.