![](https://squidex.jugru.team/api/assets/srm/45dXr3o8TD9YjkZ574Ev5E/102646-735004252-pavel-kryukov-vzaimozamenyayemyye-aos-i-soa-konteynery.jpg?cache=3600&width=74&height=74&mode=CropUpsize)
Павел Крюков
Компания: МФТИ
Тип доклада: Доклад
Проблема выбора оптимального размещения данных в памяти актуальна при программировании высокопроизводительных систем, работающих с большим объемом данных. В докладе представлена C++ библиотека, унифицирующая интерфейс к AoS- и SoA-подходам к организациям данных и упрощающая процесс выбора.
Доклад содержит начальные сведения об устройстве кеша CPU, качественное сравнение подходов AoS и SoA, недостатки использования их стандартных реализаций на C++. Перечислены задачи, возникающие при построении взаимозаменяемых AoS- и SoA-контейнеров, и представлены их решения с использованием средств рефлексии C++17.
В докладе будут представлены примеры количественных и аналитических сравнений производительности AoS- и SoA-подходов для различных задач.
Представленная библиотека использует современный C++17, трюк Type Loophole и Boost.PFR. Оценки производительности осуществляются с помощью Google Benchmark.
Компания: МФТИ
Компания: Intel Corporation