Начало основного контента

Взаимозаменяемые AoS- и SoA-контейнеры

День 1

RU

Проблема выбора оптимального размещения данных в памяти актуальна при программировании высокопроизводительных систем, работающих с большим объемом данных. В докладе представлена C++ библиотека, унифицирующая интерфейс к AoS- и SoA-подходам к организациям данных и упрощающая процесс выбора.

Доклад содержит начальные сведения об устройстве кеша CPU, качественное сравнение подходов AoS и SoA, недостатки использования их стандартных реализаций на C++. Перечислены задачи, возникающие при построении взаимозаменяемых AoS- и SoA-контейнеров, и представлены их решения с использованием средств рефлексии C++17.

В докладе будут представлены примеры количественных и аналитических сравнений производительности AoS- и SoA-подходов для различных задач.

Представленная библиотека использует современный C++17, трюк Type Loophole и Boost.PFR. Оценки производительности осуществляются с помощью Google Benchmark.

Спикеры