{"title":"An Exploratory Study on Patterns in Dynamic Memory Allocations","authors":"Alexandre Beletti Ferreira, Rivalino Matias, Vinicius Fonseca Maciel","doi":"10.1109/SBESC.2016.015","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":336703,"journal":{"name":"2016 VI Brazilian Symposium on Computing Systems Engineering (SBESC)","volume":"144 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 VI Brazilian Symposium on Computing Systems Engineering (SBESC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBESC.2016.015","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
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.