LINUX.ORG.RU

История изменений

Исправление snizovtsev, (текущая версия) :

в подавляющем числе случаев std::deque<> будет лучше для stack access patterns

Кмк std::vector лучше – он предсказуемо выделяет память, и почти всегда можно заранее рассчитать нужный объём и вставить reserve. А у std::deque блоки непонятно какого размера, лишние указатели, потеря random access.

Я бы сказал, что на практике в 99% достаточно 4х cтруктур – std::vector, absl::flat_hash_map, absl::btree_map и intrusive list.

Исправление snizovtsev, :

в подавляющем числе случаев std::deque<> будет лучше для stack access patterns

Кмк std::vector лучше – он предсказуемо выделяет память, и почти всегда можно заранее рассчитать нужный объём и вставить reserve. А у std::deque блоки непонятно какого размера, лишние указатели, потеря random access.

Я бы сказал, что на практике в 99% достаточно 4х cтруктур – std::vector, absl::flat_hash_map, std::map и intrusive list.

Исправление snizovtsev, :

в подавляющем числе случаев std::deque<> будет лучше для stack access patterns

Кмк std::vector лучше – он предсказуемо выделяет память, и почти всегда можно заранее рассчитать нужный объём и вставить reserve. А у std::deque блоки непонятно какого размера, лишние указатели, потеря random access.

Я бы сказал, что на практике в 99% достаточно 3х cтруктур – std::vector, absl::flat_hash_map и intrusive list.

Исправление snizovtsev, :

в подавляющем числе случаев std::deque<> будет лучше для stack access patterns

Кмк std::vector лучше – он предсказуемо выделяет память, и почти всегда можно заранее рассчитать нужный объём и вставить reserve. А у std::deque блоки непонятно какого размера, лишние указатели, потеря random access.

Я бы сказал, что на практике в 99% достаточно 3х cтруктур – std::vector, absl::flast_hash_map и intrusive list.

Исходная версия snizovtsev, :

в подавляющем числе случаев std::deque<> будет лучше для stack access patterns

Кмк std::vector лучше – он предсказуемо выделяет память, и на практике почти всегда можно заранее рассчитать нужный объём и вставить reserve. А у std::deque блоки непонятно какого размера, лишние указатели, потеря random access.

Я бы сказал, что на практике в 99% достаточно 3х cтруктур – std::vector, absl::flast_hash_map и intrusive list.