在我的 Windows 的 C++ 程序中,我通过调用new CMyClass()在堆上分配了几个小对象(数千个)
性能似乎因此受到影响。
有没有办法在堆中预先分配一些最小内存供程序使用,以便操作系统在我调用new CMyClass()以提高性能时开始从这个预先分配的空间分配?
谢谢。
在我的 Windows 的 C++ 程序中,我通过调用new CMyClass()在堆上分配了几个小对象(数千个)
性能似乎因此受到影响。
有没有办法在堆中预先分配一些最小内存供程序使用,以便操作系统在我调用new CMyClass()以提高性能时开始从这个预先分配的空间分配?
谢谢。
您似乎正在寻找一个内存池- http://www.codeproject.com/Articles/27487/Why-to-use-memory-pool-and-how-to-implement-it
请注意,您可以预先分配一些内存,然后使用placement new 来防止多次分配。