A Traversable Fixed Size Small Object Allocator in C++
  At the allocation and deallocation of small objects with fixed size, the standard allocator of the runtime system has commonly a worse time performance compared to allocators adapted for a special application field. We propose a memory allocator, originally developed for mesh primitives but also usable for any other small equally sized objects. For a large amount of objects it leads to better results than allocating data with the C ++new instruction and behaves nowhere worse. The proposed synchronization approach for this allocator behaves lock-free in practical scenarios without using machine instructions, such as compare-and-swap. A traversal structure is integrated requiring less memory than using containers such as STL-vectors or lists, but with comparable time performance. 
Christian Schuessler and Roland Gruber
cs.PL