Вот, это уже значимый прирост скорости.
Бенчмарк эмитирует актора принимающего список небольших структур и передающий эти списки четырём другим акторам. Получить список как ссылку, сделать четыре копии.
Сверку вниз:
1. Получаем список, копируем его в новую область памяти и делаем из неё Arc (Контейнер с атомарным счётчиком ссылок);
2. Получаем список и копируем его в четыре заранее выделенные области памяти;
3. Получаем список, делаем вектор, делаем копии вектора, с выделением памяти под каждый;
4. Мой пул массивов позволяющий повторно использовать память. Работает как Arc, только, после удаления всех пользователей массива, память возвращается в пул для повторного использования.
Код опубликую когда приберусь в нём.
🔍 Описание
График скриншота. На графике изображено четыре вертикальных столбца данных, которые расположены на горизонтальной оси. Внизу графика есть подпись "Average time (ms)", а слева - "Input". Над графиком есть заголовок "arc_vs_copy: Violin plot".
📝 Текст на картинке
arc_vs_copy: Violin plot
Average time (ms)
Input
arc_vs_copy/arc
arc_vs_copy/copy
arc_vs_copy/none
arc_vs_copy/pool