Мое эмпирическое правило, и я уверен, что будут дебаты по этому вопросу, никогда не используйте списки (если вам не нужно очень, очень часто удалять вещи из середины больших списков).
Скорость, которую вы получите, поместив все свои элементы в свой контейнер в непрерывную память (и, следовательно, более дружественную к кешу), стоит возмещения дополнительных затрат на добавление / удаление / изменение размера вектора.
Редактировать: просто, чтобы прояснить немного больше, конечно, само собой разумеется, что любой вопрос «который быстрее» должен быть протестирован на любой платформе с любыми наборами данных, которые соответствуют вашим конкретным потребностям. Если мне просто нужна коллекция элементов, я просто использую vector (или deque, что почти то же самое), если нет веской причины не делать этого.