Что оптимальнее для FIFO - queue или vector?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 14.07.21 16:55
Оценка: :))) :)
Здравствуйте!


Нужно сделать очередь, в хвост кладём, с носа забираем. Типы — примитивные.

Вектор при выталкивании с носа будет целиком перемещаться, что не очень хорошо, но в случае примитивных типом и не слишком большого размера — 100-200, например — это будет скорее всего memcpy с небольшим объемом памяти. А queue, по идее, при постановке в хвост будет лазать в кучу за элементом, и при забирании с носа — отдавать в кучу элемент. По идее, это можно оптимизировать. Вопрос, как с этим в основных реализациях std?

Если нетривиальные типы — то дека скорее всего будет оптимальнее сразу, а на примитивах — небольшой вектор (до какого-то размера) может быть шустрее.

ЗЫ В принципе, что-то существенное по отношению к остальному коду не выгадаю, но вот просто интересно
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.