DOD actually started as an alternative to class inheritance hierarchies. The performance benefits were recognized and popularized after it was implemented.
Eh, inheritence is relatively performance friendly.. all the stuff is after all wrapped into one onion shaped object. The problem starts with pointers - aka loose composition and not having "work-bundles" for the hootloop, which usually ideally come as arrays of work-packages.
https://www.gamedevs.org/uploads/data-driven-game-object-sys...