@blue как минимум тем, что кольцевой буфер не раскидан по памяти как невезучий сапёр, и лучше влезает в кеш процессора
Top-level
@blue как минимум тем, что кольцевой буфер не раскидан по памяти как невезучий сапёр, и лучше влезает в кеш процессора 8 comments
@blue вообще, дока раста по выбору подходящей коллекции говорит следующее Используйте двусвязный список если.. @blue VecDeque это собственно кольцевой буффер и есть. Реаллокации не настолько тормознутые, и вот не при сравнении со связными списками говорить о фрагментации. @blue собственно, почему я говорю про скорость. Недавно сцепились с человеком, который утверждал, что фильтровать связный список быстрее, потому что он не реаллоцируется Двусвязный список проиграл, более чем в три раза :blobcatgooglytrash: @blue а, ещё в процессе тестирования он, в отличие от вектора вылетел в своп @blue к тому же, кольцевой буфер в целом занимает меньше памяти. Единственное, в чем список лучше — нет амортизации. То есть перформанс будет в среднем значительно хуевее, но без скачков |
@mo какая разница как он раскидан?) Обрабатываются элементы друг за другом, пускай где хотят там и хранятся, какой получится такой длины не резервируя в памяти непрерывный блок