Methodology for the Experimental Evaluation of Memory Allocation Strategies and Object Lifetime Models in C++ SystemsMaksim Martynov Citation: Maksim Martynov, "Methodology for the Experimental Evaluation of Memory Allocation Strategies and Object Lifetime Models in C++ Systems", Universal Library of Engineering Technology, Volume 03, Issue 02. Copyright: This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. AbstractThe methodology considers the experimental evaluation of memory allocation strategies and object lifetime models in C++ systems as a reproducible research process grounded in a generative workload model, a phase-based execution structure, and an event-driven measurement scheme. The methodology’s relevance stems from the growing role of allocators in the performance of computing systems, where differences in memory placement and reclamation policies affect latency, fragmentation, peak resource consumption, and resilience under prolonged load. The aim of the work is to formalize a procedure for allocator comparison by elevating object lifetime to the status of a fundamental experimental parameter. The novelty of the approach lies in the integration of deterministic operation generation, explicit lifetime models, the RampUp, Steady, and BulkReclaim execution phases with churn modeled as a workload profile applied within them rather than as a separate structural phase, as well as a comparability protocol fixing the workload, seed, environment, the rules for accounting for non-applicable operations, and a capability-gated validation matrix that excludes invalid allocator × workload × lifetime combinations. The principal conclusions are that accounting for lifetime reveals the mechanisms of memory degradation arising from the intermingling of short-lived and long-lived objects. Configuring the methodology with arena separation by lifetime profile reduces the measured memory footprint overhead and stabilizes the live and peak reserved-byte counters tracked by the framework. Phase decomposition exposes the differences between warm-up, steady-state mode, churn load, and bulk memory return. The methodology will be useful for researchers, infrastructure software developers, performance engineers, and architects of C++ systems. Keywords: C++, Memory Management, Allocators, Object Lifetime, Memory Fragmentation, Experiment Reproducibility. Download |
|---|