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 usa...

Full description

Saved in:
Bibliographic Details
Main Authors Schuessler, Christian, Gruber, Roland
Format Journal Article
LanguageEnglish
Published 05.11.2016
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary: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.
DOI:10.48550/arxiv.1611.01667