Research Article
Techniques and Trade-Offs in Function Inlining Optimization
@ARTICLE{10.4108/eetsis.4453, author={Priya Gupta and Aditya Jha and Brinda Gupta and Kime Sumpi and Sabyasachi Sahoo and Mukkoti Maruthi Venkata Chalapathi}, title={Techniques and Trade-Offs in Function Inlining Optimization}, journal={EAI Endorsed Transactions on Scalable Information Systems}, volume={11}, number={4}, publisher={EAI}, journal_a={SIS}, year={2023}, month={11}, keywords={Function inlining, Compliler optimization, function call, program performance, compiler pipeline}, doi={10.4108/eetsis.4453} }
- Priya Gupta
Aditya Jha
Brinda Gupta
Kime Sumpi
Sabyasachi Sahoo
Mukkoti Maruthi Venkata Chalapathi
Year: 2023
Techniques and Trade-Offs in Function Inlining Optimization
SIS
EAI
DOI: 10.4108/eetsis.4453
Abstract
Function inlining is a critical optimization technique used by compilers to improve program performance by replacing a function call with the body of the function and eliminating the overhead associated with function calls. However, the decision of when to inline functions and when not to is a nontrivial problem due to interactions with the rest of the compiler pipeline. Incorrect inlining decisions can cause runtime performance degradation, making this problem a crucial one to study. This paper reviews the different techniques used to optimize function inlining, including simple textual substitution, profile-guided inlining, interprocedural optimization, partial inlining, speculative inlining, and advanced techniques such as indirect call optimizations. Each technique has its strengths, weaknesses, and trade-offs, and ongoing research is exploring ways to overcome these challenges. Optimizing function inlining is a complex problem, and different techniques offer different tradeoffs. Further research to improve the performance of function inlining while minimizing any potential drawbacks could be pursued based on this paper.
Copyright © P. Gupta et al., licensed to EAI. This is an open access article distributed under the terms of the CC BY-NC-SA 4.0, which permits copying, redistributing, remixing, transformation, and building upon the material in any medium so long as the original work is properly cited.