C++内存的快速分配

C++ Memory allocation in a fast way

本文关键字:分配 内存 C++      更新时间:2023-10-16

我有这个代码:

privateMesh.face[positionSaverFN].vertexMDL = new vector3D[privateMesh.face[positionSaverFN].numOfPoints];

这个代码运行了67000次,需要0.165秒。这对我来说太长了,我正在努力寻找最快的方法。

有什么建议吗?

好吧,如果你想做60000次,你能做的不多。由于new的使用率很高,它会尽可能快。

解决这个问题的一种方法可能是重新设计你的应用程序,这样它就不需要进行60000次。这可能是你可以做一次,然后再使用它

通常最快的方法是而不是去做:-)

计算所需的内存总量。分配一个大缓冲区。通过指针数组访问,指向该缓冲区的后续区域。显然,您需要初始化这个数组,但它将比使用malloc分配小区域快得多。