An Exploratory Study on Patterns in Dynamic Memory Allocations - Ferreira, Alexandre Beletti; Matias, Rivalino; Maciel, Vinícius Fonseca (Anais do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC); 2016: Anais do VI Simpósio Brasileiro de Engenharia de Sistemas Computacionais, 2016)
Dynamic memory allocation is omnipresent in computer programming, which makes its impact on software performance and scalability a major concern. Hence, it is important to understand how real applications allocate memory dynamically, answering questions like: How frequent are dynamic memory allocations? What is the distribution of allocation sizes? What is the average allocations' retention time? To answer these and other questions, we analyzed the memory allocation and deallocation traces from different real applications under their typical workloads, and found consistent allocation patterns. For instance, we observed that small allocations were predominant (in average 85%) in all applications analyzed, as well as short duration allocations that corresponded to 85.06% of all allocated memory. These and other findings were contrasted with a previous work towards assessing their external validity.