The debug heap affects performance in two ways:
First, it adds heap integrity checks during heap operations. I did not find details about these checks, but it is assumed that for each distribution or for free, it includes checking the integrity of the data structures used to manage the heap.
Secondly, it disables the low fragmentation heap (LFH) parameter. In the default release build, you get LFH. In a debug assembly, you are not ... unless you are using _NO_DEBUG_HEAP. This is not necessarily a speed limit, but it can be.
The documentation has links to HeapSetInformation .
Note that C and C ++ run-time libraries provide memory management built on top of the system heap API, and also have debugging and debugging modes that can affect performance. There is more detailed documentation on what the debug CRT does. You can check and see if disabling CRT debugging is enough for you to significantly improve performance without going into process debug heap mode.
Adrian mccarthy
source share