C++ is a well-known programming language which focuses on effective hardware utilization. C++ compilers are able to generate efficient executable code that takes advantage of the hardware elements. C++ supports the object-oriented paradigm and therefore it provides classes and structs. Compilers are enabled to add extra padding and alignment bytes between the members of a class. This option may result in different size of a class based on the different order of the class and contradicts the optimal memory consumption demand. In this paper, we propose an approach for optimizing memory utilization. This approach includes a static analysis tool that examines the classes and reports if the order of members is sub- optimal regarding memory consumption. We analyze open source projects and realize every observed project contains such a subtle problem.
preprint paper (icooolps2022-preprint-paper-babati.pdf) | 544KiB |
Tue 7 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | Shared Session Truffle & ICOOOLPSICOOOLPS at Elk Chair(s): Fabio Niephaus Oracle Labs, Potsdam Shared Session with Truffle Workshop, Room Aurora Borealis 1 | ||
13:30 30mPaper | Memory Consumption of Objects in C++ ICOOOLPS Bence Babati Eötvös Loránd University, Faculty of Informatics, Department of Programming Languages and Compilers, Norbert Pataki Eötvös Loránd University, Faculty of Informatics, Department of Programming Languages and Compilers File Attached | ||
14:00 60mIndustry talk | A design overview of JavaScriptCore's DFG IR ICOOOLPS Saam Barati Apple |