Memory Manager: MDX

beta

Memory Manager: MDX = malloc() + free() + Garbage Collection

5.0 Stars (3)
4 Downloads (This Week)
Last Update:
Download mdx-0-0-1.zip
Browse All Files
Windows Linux

Description

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.

See the project web site at the link below for more information.

Memory Manager: MDX Web Site

Features

  • Small & easy to use API based on malloc() & free() plus extensions.
  • Thread safe.
  • Garbage collection with finalization.
  • Dynamicly self-adjusts garbage collection threshold to program memory usage.
  • Marking and finalization by callback.
  • Can allocate collectible and non-collectible memory at the same time.
  • Speeds up marking by letting finalization explicitly free memory.
  • Memory's allocated from multiple independent pools.
  • Delete pool acts as a grand clear, freeing all memory still allocated.
  • malloc() & free() performance comparable to C standard library.
  • Uses thread caches to scale with thread count.
  • Could be made language independent with simple C API jackets.

Update Notifications





User Ratings

★★★★★
★★★★
★★★
★★
3
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 0 / 5
Write a Review

User Reviews

  • nicolascook
    1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    Love memorydividerx

    Posted 01/25/2013
  • jameshanson
    1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    Great software, thanks memorydividerx

    Posted 11/03/2012
  • maxshawn
    1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    Great software, thank you.

    Posted 09/26/2012
Read more reviews

Additional Project Details

Intended Audience

Developers, Information Technology

Programming Language

C++

Registered

2012-04-01
Screenshots can attract more users to your project.
Features can attract more users to your project.

Icons must be PNG, GIF, or JPEG and less than 1 MiB in size. They will be displayed as 48x48 images.