Memory Divider X
MDX = malloc() + free() + Garbage Collection
Summary
MDX is a thread safe memory manager similar to the standard C library's malioc() and free(), except that it allows for some (or all) of the memory to be automatically freed by mark and sweep garbage collection with finalization. It's written in C++ under the Apache license for Windows and Linux on 32 & 64 bit systems.
Programs using MDX provide it with a marking callback. The callback performs the marking phase of garbage collection, using MDX's mark() method to actually mark the wanted memory blocks. Finalization is similarly accomplished by callback. The rest of the garbage collection process is managed automatically by MDX.
The novel approach of allowing finalization to explicitly free memory offers the potential for improving garbage collection performance. This is achieved by moving some work from being done repetitively during every marking cycle, to being done once only when the memory's freed.
For more information see How to Use MDX.
|