Does anyone have any experience with MicroQuill's SmartHeap memory
allocation library? I used it on a project many years ago and was
impressed. One of the new features that especially interested me was
a shared heap that was visible to multiple processes for both Win95
and WinNT. With pointers that are valid across process bounderies.
Mike Philben
In debug builds, we use it for its ability to find leaks, scribbles, etc.
It's very thorough, but it can be tricky to get the leaks reported at just
the right time - that is, without such things as CRT allocations included.
We don't have HeapAgent, though - just SmartHeap.
In ship builds, we use it for its performance - and it's *fast*. Just
linking with it gave us up to 2.5X on malloc and friends. But the real
bonus came when we started using fixed-size allocators. In one case, we got
an 18X improvement just by overriding new and delete and using a private
fixed-size allocator for that class. Not bad for a couple of dozen lines of
code!
We have had some problems. We've been letting SmartHeap patch essentially
all the DLLs in our processes. (We use it in at least 6 different EXEs in
our product, and almost 50 DLLs.) Occasionally, we've hit problems with the
patching process, usually when using third-party DLLs in our code.
MicroQuill's support, though, is among the best I've ever experienced,
which has helped us though the snags.
At one point, we had several problems with SmartHeap running on
multiprocessor systems, notably quad-processor Compaq systems. All of those
bugs now appear to be fixed (in SmartHeap 3.4).
There is one problem which I find very annoying, and which they don't seem
to want to fix, though. Under certain circumstances, the debug version will
want to display a message box. This is all well and good - except if your
application is running as an NT service (which most of ours are). In this
case, the message box is "displayed" on a different desktop, and there's no
way to dismiss it - your process is hung. Still, this doesn't happen very
often, and maybe they'll get around to fixing it one day.
--
Martin Cooper
Worldtalk Corporation
Mike Philben wrote in message <34f32658....@news.ncal.verio.com>...