Memory Pool System
The Memory Pool System is a flexible and adaptable memory manager. Among its many advantages are an incremental garbage collector with very low pause times, and an extremely robust implementation. It's both open source and commercially licensed.
- fast: lock-free inline allocation in just a few instructions
- responsive: GC with low pause times even when heavily loaded
- flexible: wide range of pluggable memory pools
- easy: GC uncooperative programs using conservative collection
- easy to build: basically cc -c mps.c
- cooperative: returns memory to the OS (believe it or not, this is rare)
- portable: many platforms, strict ISO C easily ported to others
- embeddable: can compile down to a 200K freestanding C library
- robust: high quality software engineering since 1994
- supported: Ravenbrook commercially support and develop the MPS
Browse the latest source code, designs, and other good stuff.
Versions are stable supported branches, and releases are fixed builds from versions [RB_1999-05-20]. Issues record defects and tasks -- our bug tracker.
For a more detailed overview of the MPS, see "The Memory Pool System: Thirty person-years of memory management development goes Open Source" [BB_2002-01-30].
For an introduction to memory management in general, see the Introduction to Memory Management, which also has links to numerous other resources.
Any other questions? Worried about licensing? Write to us at firstname.lastname@example.org. We're friendly.
|[BB_2002-01-30]||"The Memory Pool System: Thirty person-years of memory management development goes Open Source"; Nicholas Barnes, Richard Brooksby; Ravenbrook Limited; 2002-01-30; <https://www.ravenbrook.com/project/mps/doc/2002-01-30/ismm2002-paper>.|
|[RB_1999-05-20]||"Product Quality through Change Management"; Richard Brooksby; Ravenbrook Limited; 1999-05-20; <https://www.ravenbrook.com/doc/1999/05/20/pqtcm/>.|