gpt4 book ai didi

c++ - 在 C++ 函数中使用内联优化有哪些注意事项?

转载 作者:太空狗 更新时间:2023-10-29 23:42:34 25 4
gpt4 key购买 nike

内联不同类型的函数有什么好处?在围绕它们进行开发时我需要注意哪些问题?我对分析器不是很有用,但许多不同的算法应用程序似乎将速度提高了 8 倍,如果你能给我任何对我很有用的指示。

最佳答案

内联函数经常被过度使用,后果很严重。内联向编译器指示可以考虑对函数进行内联扩展。如果编译器选择内联函数,则不会调用该函数,而是将其复制到位。性能提升来自避免函数调用、堆栈帧操作和函数返回。 yield 可能相当可观。

请注意,它们会增加程序大小。它们可以通过减少调用者的引用位置来增加执行时间。当大小增加时,调用者的内部循环可能不再适合处理器缓存,从而导致不必要的缓存未命中和随之而来的性能损失。内联函数也会增加构建时间——如果内联函数发生变化,就必须重新编译世界。一些准则:

  • 避免内联函数,直到分析表明哪些函数可以从内联中受益。
  • 在使用和不使用自动内联进行分析后,考虑使用编译器的自动内联选项。
  • 仅限函数调用开销相对于函数代码较大的内联函数。换句话说,内联大型函数或调用其他(可能内联)函数的函数不是一个好主意。

关于c++ - 在 C++ 函数中使用内联优化有哪些注意事项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3539785/

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