История изменений
Исправление zurg, (текущая версия) :
но в итоге то:
| And, yes, my recomendation is to use std::vector by default. More generally, use a |contiguous representation unless there is a good reason not to. Like C, C++ is designed |to do that by default.
|Выше по треду я привел пример, когда векторы являются самым худшим |вариантом из возможных.
без большего контекста о задаче, похоже что хэшмап лучше всего подойдёт- если часто надо вставлять удалять- самое то, и многопоточности это никак не мешает; и в общем, прямо вот на одномерном векторе никто и не зацикливается, у нас ещё дохрена вариантов: вектор векторов или векдеков или хэшмапов или наоборот, что больше подойдет под задачу. И вот только после тщательных измерений, если каким-то чудом это всё не подойдёт, мы делаем специализированный контейнер возможно и с тщательно проверенными указателями внутри и с безопасными торчащими наружу индексами.
|Список в таком случае выигрывает целиком и полностью.
неа, реально мерять надо
Исправление zurg, :
но в итоге то:
| And, yes, my recomendation is to use std::vector by default. More generally, use a |contiguous representation unless there is a good reason not to. Like C, C++ is designed |to do that by default.
|Выше по треду я привел пример, когда векторы являются самым худшим |вариантом из возможных.
без большего контекста о задаче, похоже что хэшмап лучше подойдёт- если часто надо вставлять удалять- самое то, и многопоточности это никак не мешает; и в общем, прямо вот на одномерном векторе никто и не зацикливается, у нас ещё дохрена вариантов: вектор векторов или векдеков или хэшмапов или наоборот, что больше подойдет под задачу. И вот только после тщательных измерений, если каким-то чудом это всё не подойдёт, мы делаем специализированный контейнер возможно и с тщательно проверенными указателями внутри и с безопасными торчащими наружу индексами.
|Список в таком случае выигрывает целиком и полностью.
неа, реально мерять надо
Исходная версия zurg, :
но в итоге то: | And, yes, my recomendation is to use std::vector by default. More generally, use a |contiguous representation unless there is a good reason not to. Like C, C++ is designed |to do that by default.
|Выше по треду я привел пример, когда векторы являются самым худшим |вариантом из возможных.
без большего контекста о задаче, похоже что хэшмап лучше подойдёт- если часто надо вставлять удалять- самое то, и многопоточности это никак не мешает; и в общем, прямо вот на одномерном векторе никто и не зацикливается, у нас ещё дохрена вариантов: вектор векторов или векдеков или хэшмапов или наоборот, что больше подойдет под задачу. И вот только после тщательных измерений, если каким-то чудом это всё не подойдёт, мы делаем специализированный контейнер возможно и с тщательно проверенными указателями внутри и с безопасными торчащими наружу индексами.
|Список в таком случае выигрывает целиком и полностью.
неа, реально мерять надо