@blue вообще, дока раста по выбору подходящей коллекции говорит следующее
Используйте двусвязный список если..
— вам нужно обрабатывать списки неизвестной длины и амортизация ну прям совсем не вариант
— если надо эффективно резать и склеивать списки
— Если вы АБСОЛЮТНО уверены, что вам НУ НИКАК не обойтись без двусвязного списка
В большинстве случаев Vec/VecDeque будет оптимальнее
@mo я хз чего такого волшебного в расте, но с точки зрения структур данных ничего для перебора данных друг за другом эффективнее листов нет. Если данные произвольных размеров вектор вообще не вариант, он будет постоянно перерезервироваться в памяти что бы лежать подряд, это копирования и фрагментация. Кольцевой буфер, ну я хз, очередь может быть и 5 событий а может быть и 5 миллионов, держать в памяти блок в несколько десятков мегабайт который 99% времени будет пустым просто потому что иначе я просру пару событий на бёрсте, объемы которого не могу предсказать но "640 должно хватить всем" и все ради кеша процессора - звучит чрезвычайно идиотской затеей. Что за зверь такой векдек я хз, но в сях дек это что то типа связного списка векторов, как бы ни вашим не нашим, что бы и в центре модифицировать можно было не так обидно и что бы по индексу можно было брать.
@mo я хз чего такого волшебного в расте, но с точки зрения структур данных ничего для перебора данных друг за другом эффективнее листов нет. Если данные произвольных размеров вектор вообще не вариант, он будет постоянно перерезервироваться в памяти что бы лежать подряд, это копирования и фрагментация. Кольцевой буфер, ну я хз, очередь может быть и 5 событий а может быть и 5 миллионов, держать в памяти блок в несколько десятков мегабайт который 99% времени будет пустым просто потому что иначе я просру...