Any way to track memory allocations?
Lutger
lutger.blijdestijn at gmail.com
Tue Feb 24 12:55:53 PST 2009
Jarrett Billingsley wrote:
> On Tue, Feb 24, 2009 at 12:00 PM, wade Shen <swadenator at gmail.com> wrote:
>> I'm writing some performance sensitive code (real time processing) for
which I've tried to minimize the number of memory allocations by using
preallocated objects pools. Unfortunately, during the course of running, it
seems that lots of memory is still getting allocated even though all
explicit "new" and array slicing operations have been moved out of the main
processing loops. As a result the program is quite slow when garbage
collection is enabled (but very fast otherwise).
>
> Array slicing does not cause the GC to run. It is essentially free,
> which is a wonderful thing.
>
>> Is there a way to track down where memory is being allocated if I'm using
phobos? Any recommendations would be appreciated.
>
> This is something I have *always* wanted. Unfortunately I don't think
> it's possible to add such instrumentation without modifying and
> recompiling Phobos. Even if you're using D2, which uses druntime,
> there's no such thing.
Might it be possible to use tangobos for this purpose and just add asserts
in the GC code? Last time I looked it was pretty straightforward to
recompile Tango.
More information about the Digitalmars-d-learn
mailing list