C ++快速分配内存

时间:2013-07-27 12:42:59

标签: c++ memory allocation ram

我有这段代码:

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

此代码运行67,000次,执行此操作需要0.165秒。 这对我来说太长了,我正试图找到最快的方法。

有什么建议吗?

2 个答案:

答案 0 :(得分:5)

好吧,如果你想做60000次,那么你无能为力。由于new的使用率很高,它的速度会尽可能快。

解决问题的一种方法可能是重新设计你的应用,这样它就不会 做60000次。可能是你可以做一次而只是重复使用它。

做某事的最快方法通常是这样做: - )

答案 1 :(得分:1)

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