vix.ing · top · new · best · stats · spec

A Traversable Fixed Size Small Object Allocator in C++

2016/11/05 by Christian Schuessler, Schuessler, Christian, Roland Gruber +1
Computer Science · #FOS: Computer and information sciences #Programming Languages (cs.PL) #cs.PL

paper · pdf · doi:10.48550/arxiv.1611.01667

arxiv created 2016/11/08 · arxiv updated 2016/11/09

Abstract

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.

Related