В моих проектах есть несколько динамических массивов std :: vector . Первое измерение составляет около 10 миллионов, второе измерение составляет около 10-100. Оба измерения динамичны, то есть часто push_back /
/
, который серьезно влияет на производительность параллельной логики, такой как OpenMP и TBB. В некоторых случаях использование ЦП ниже до 20% с добавленным полным ядром. < /P>
Как решить эту проблему? < /P>
Код: Выделить всё
std::vector A;
A.clear();
A.resize(12000000);
for(int32_t i=0; i
Подробнее здесь: [url]https://stackoverflow.com/questions/79547645/nested-stdvectorstdvector-brings-too-many-memory-fragmentation-and-pollute[/url]