On Wed, 13 May 2009 10:48:53 +0400, grauzone <n...@example.net> wrote:

Maybe it's time to put together an instrumented GC...

Wishlist:
- some way to know _when_ a collection happened (or how often)
- logging of allocations (module/linenumber of allocator, size of allocation, type of allocation)
- per TypeInfo allocation statistics
- per module allocation statistics

At work, we manage memory ourselves (C++ that is). As result of a program run, 
a memory log is created which is then visualized by a Memory Monitor. MM gives 
a picture of memory state at any given time. You use a scroller to advance in 
time. You may a watch a history of every memory block - when it was first 
allocated, how it was reused, etc. It also gives you a great picture of how big 
memory fragmentation is, how efficient it is reused etc.

I may post a few screenshots or even a whole program with a sample memory log 
to show you how useful it is. Perhaps, it will be an inspiration for someone to 
create something like it for D GC.
Unfortunately, an implementation is heavily memory-management specific and thus 
there is little to no code to share.

Reply via email to