Memory Pool System

author Richard Brooksby
confidentiality public
date 2013-06-03
organization Ravenbrook Limited
readership anyone
revision //
template rst-project-index
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

More Resources

Master Sources

Browse the latest source code, designs, and other good stuff.

Versions, Releases, and Issues

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 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; <>.
[RB_1999-05-20]"Product Quality through Change Management"; Richard Brooksby; Ravenbrook Limited; 1999-05-20; <>.