“热”和“内联”组合对函数定义的性能影响

“热”和“内联”组合对函数定义的性能影响,第1张

概述我有一个功能,它只进行一些 *** 作,如增量.我已声明为内联和__attribute __((热)).Gcc Doc建议关注热门属性: The hot attribute is used to inform the compiler that a function is a hot spot of the compiled program. The fun

我有一个功能,它只进行一些 *** 作,如增量.我已声明为内联和__attribute __((热)).

Gcc Doc建议关注热门属性:

The hot attribute is used to inform the compiler that a function is a
hot spot of the compiled program. The function is optimized more
aggressively and on many target it is placed into special subsection
of the text section so all hot functions appears close together
improving locality.

可以解释为非内联热函数,它们将被放置在进程地址映射的低地址区域中.但内联函数调用应该被它们的代码逐字取代.那么问题是内联和热的组合如何真正起作用?最佳答案有关内联关键字的详细说明,请参阅When should I write the keyword ‘inline’ for a function/method?.将函数声明为热和内联似乎是一种矛盾;如果函数未在头文件中定义,或者未在多个编译单元中定义,则不应将其声明为内联.

实际上,决定用函数定义替换函数调用并将其置于“内联”取决于编译器.所以内联和热的组合可能只是忽略内联部分并将其放在程序的text.hot部分.链接器是进程中唯一真正关心内联关键字的部分,然后它不一定按照您的想象执行.

总结

以上是内存溢出为你收集整理的“热”和“内联”组合对函数定义的性能影响全部内容,希望文章能够帮你解决“热”和“内联”组合对函数定义的性能影响所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存