Techniques and Trade-Offs in Function Inlining Optimization

Priya Gupta, Aditya Jha, Brinda Gupta, Kime Sumpi, Sabyasachi Sahoo, Mukkoti Maruthi Venkata Chalapathi
{"title":"Techniques and Trade-Offs in Function Inlining Optimization","authors":"Priya Gupta, Aditya Jha, Brinda Gupta, Kime Sumpi, Sabyasachi Sahoo, Mukkoti Maruthi Venkata Chalapathi","doi":"10.4108/eetsis.4453","DOIUrl":null,"url":null,"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.","PeriodicalId":502678,"journal":{"name":"ICST Transactions on Scalable Information Systems","volume":"189 ","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ICST Transactions on Scalable Information Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4108/eetsis.4453","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

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.
函数内嵌优化的技术与权衡
函数内联是编译器使用的一种重要优化技术,它通过用函数体代替函数调用,消除与函数调用相关的开销,从而提高程序性能。然而,由于与编译器流水线其他部分的交互作用,何时内联函数、何时不内联函数的决策并不是一个简单的问题。不正确的内联决定会导致运行时性能下降,因此这个问题是一个需要研究的关键问题。本文回顾了用于优化函数内联的不同技术,包括简单的文本替换、配置文件引导内联、过程间优化、部分内联、投机内联以及间接调用优化等高级技术。每种技术都有其优缺点和利弊权衡,目前的研究正在探索克服这些挑战的方法。优化函数内联是一个复杂的问题,不同的技术有不同的权衡。在本文的基础上,我们可以进一步研究如何提高函数内联的性能,同时尽量减少潜在的缺点。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信