gpt4 book ai didi

c++ 启发式估计函数内联的好处

转载 作者:IT老高 更新时间:2023-10-28 23:19:37 26 4
gpt4 key购买 nike

在 c++ 中,什么是估算内联函数的计算时间优势的良好启发式方法,特别是当函数被非常频繁地调用并且占程序执行时间的 >= 10% 时(例如,蛮力或随机优化过程)。尽管内联最终可能超出我的控制范围,但我仍然很好奇。

最佳答案

没有普遍的答案。这取决于硬件、数量和它的参数的类型,以及在函数中做了什么。以及多久它被称为,在哪里。例如,在 Sparc 上,参数(以及返回值)在寄存器中传递,每个函数得到 16 个新的寄存器:如果函数足够复杂,那些新的寄存器可能避免在函数被内联时发生的溢出,并且非内联版本最终可能比内联版本更快。在英特尔上,这是寄存器差,并在寄存器中传递参数,只是对于同一程序中的同一功能,可能相反。更多的通常,内联可能会增加程序大小,减少局部性。或者对于非常简单的功能,它可能会减小程序大小;但这又是取决于架构。唯一可能知道的方法是尝试两者,测量时间。即使那样你也只会知道特定的程序,在特定的硬件上。

关于c++ 启发式估计函数内联的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7107643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com