вероятность попадания в кэш. А уж массив структур точно будет быстрее массива объектов, если мы часто по нему линейно «проходим» и лезем к полям.
я не спорю с тем, что класс будет работать медленнее записи. я спорю с тем что это замедление будет значимым. если важны и значимы такие замедления, значит стоит посмотреть либо в сторону плюсов либо в сторону ассемблера
Зависит от программиста, кто-то и на дженериках напишет код который будет работать быстрее массива обьектов у другого.
В каких-то кейсах (большинство) безусловно нет особой разницы, но в определенных есть и существенная. А вмешивать кресты в проект ну очень тяжко.
Не вижу смысла, профит от локальности данных очевиден и без тестов. Тонны оптимизаций именно на парадигме локальности и строятся.
зависит от количества этих самых записей либо классов
Зачем экземпляры миллионами плодить загадка
миллионами хз, но тысячами (даже десятками) запросто
ну 100к и даже 1кк наплодить это не сложно и не больно меня больше интересовал эффект от локальности данных в памяти с т.з. скорости обхода дерева
сколько узел занимает в байтах?
не много, около 40-60 байт
Если на твоих данных между классами и записями будет заметная разница значит стоит и от записей отказаться. Сделать одномерный raw массив integer и лезть к нему указателями
ц-ц-ц! Я думал о таком, но там мешают дети дети динамически добавляются, заранее неизвестно сколько детей так-что в каждой ноде хранится массив(указатель) нод детей в общем плоский массив - ничего особо не изменит, даже сделает хуже
Обсуждают сегодня