Метагейм

Как я на спор развернул двусвязный список за O(1)

16 декабря 2019

Data-Oriented Design ― сравнительно новый подход к проектированию, который часто противопоставляют привычному объектному. Если последний требует группировки всех данных, относящихся к одному объекту, тем самым разбрасывая эти данные по памяти и накапливая кэш-промахи, то DOD заставляет задуматься об оптимизации проекта именно путем рационального размещения данных. Результат ― ускорение работы программы в несколько раз.

В новом материале на Хабре адепт этой парадигмы, наш ведущий разработчик Николай Шалимов рассказывает, как с помощью принципов DOD ему удалось развернуть обычный двусвязный список на C++ за константное время, и в целом призывает учиться мыслить нестандартно.

К сожалению, браузер, которым вы пользуйтесь, устарел и не позволяет корректно отображать сайт. Пожалуйста, установите любой из современных браузеров, например:

Google Chrome Firefox Opera