Data-Oriented Design: как писать быстрый C++
Адам Савицки перевёл на английский свою статью 2013 года о производительном C++. Главная мысль: язык сам по себе скорости не даёт, решает расположение данных в памяти.
Классический ООП разбрасывает мелкие объекты по куче и связывает их указателями. Обход такой структуры бьёт по кэшу процессора, а виртуальные методы мешают безопасно распараллелить код.
Подход DOD предлагает сначала проектировать данные, а уже потом алгоритмы. Плоский массив вместо графа объектов ускоряет обход, но код становится менее «элегантным» — и это спорная цена.
🔗 Подробнее
@nuancesprog #Languages #C
Post #8075
1.17K

- 👍 3