OOP Is Dead, Long Live Data-Oriented Design

حسین حسینی
منتشر شده در 17 آبان 1397

For decades C++ developers have built software around OOP concepts that ultimately failed us - we didn’t see the promises of code reuse, maintenance or simplicity fulfilled, and performance suffers significantly. Data-oriented design can be a better paradigm in fields where C++ is most important - game development, high-performance computing, and real-time systems.


The talk will briefly introduce data-oriented design and focus on practical real-world examples of applying DoD where previously OOP constructs were widely employed.


Examples will be shown from modern web browsers. They are overwhelmingly written in C++ with OOP - that’s why most of them are slow memory hogs. In the talk I’ll draw parallels between the design of systems in Chrome and their counterparts in the HTML renderer Hummingbird.


As we’ll see, Hummingbird is multiple times faster because it ditches OOP for good in all performance-critical areas. We will see how real-world C++ OOP systems can be re-designed in a C++ data-oriented way for better performance, scalability, maintainability and testability.


EVENT:


CppCon 2018


SPEAKER:


Stoyan Nikolov


PERMISSIONS:


CppCon Organizer provided Coding Tech with the permission to republish this video.

دیدگاه کاربران