Proof that HeapAgent doesn't slow your app
The following graph shows that, despite the extra overhead incurred by error detection, HeapAgent version 2.0 is equal to Visual C++ 4.0 for typical heaps and up to 4X faster as heap sizes grow larger:
You can run HeapAgent even when you aren't explicitly looking for heap bugs, so any bugs you find are a bonus. You also don't need to reproduce a bug because HeapAgent is already running the very first time you encounter it. This can save you hours or days of grief, agony, pain, and suffering.
HeapAgent isn't always faster. HeapAgent incurs some extra overhead with each allocation (for guard bytes, etc.) and defers the freeing of allocations (to help find writes into previously freed memory). As a result, the HeapAgent heap is much larger than the normal heap and will exceed available physical memory earlier. In cases where the HeapAgent heap exceeds physical memory and the VC 4 heap does not, VC 4 will be faster. However, if you're like most developers, you have enough RAM that your test cases rarely exceed physical memory even with the larger HeapAgent heap.
|