Mat*_*son 7 c++ multithreading stl vector
gprof说我的高计算应用程序占用了53%的时间std::vector <...> operator [] (unsigned long),其中32%用于一个使用频繁的向量.更糟糕的是,我怀疑我的并行代码未能扩展到3-6核心之外是由于相关的内存瓶颈.虽然我的应用确实花费了大量时间来访问和编写内存,但似乎我应该能够(或者至少尝试)做得比52%更好.我应该尝试使用动态数组(大多数情况下大小保持不变)吗?这可能有助于解决可能出现的瓶颈问题吗?
实际上,我的首选解决方案是解决瓶颈并保留向量,以方便使用.基于以上所述,是否有任何可能的罪魁祸首或解决方案(tcmalloc已经出局)?