Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 支持链接时间优化的技术和模式?_C_Optimization - Fatal编程技术网

C 支持链接时间优化的技术和模式?

C 支持链接时间优化的技术和模式?,c,optimization,C,Optimization,链接时间优化(LTO)(也称为unity build)包含在GCC 4.5或更高版本中,其他编译器也有类似的优化过程。这难道不会使某些代码模式比以前更加可行吗 例如,为了获得最大的性能,C代码的“模块”通常需要暴露它的胆量。LTO是否使其过时?什么样的代码模式是以前不可行的?我认为LTO只是一种优化,但不一定是一种可以避免任何模块的实现文档(“暴露勇气”)的优化。所有语言都是这样写的;我不认为C会很快,或者永远,从它中消除这种需要 发件人: 链路时间优化(LTO)为GCC提供了转储数据的能力 内

链接时间优化(LTO)(也称为unity build)包含在GCC 4.5或更高版本中,其他编译器也有类似的优化过程。这难道不会使某些代码模式比以前更加可行吗


例如,为了获得最大的性能,C代码的“模块”通常需要暴露它的胆量。LTO是否使其过时?什么样的代码模式是以前不可行的?

我认为LTO只是一种优化,但不一定是一种可以避免任何模块的实现文档(“暴露勇气”)的优化。所有语言都是这样写的;我不认为C会很快,或者永远,从它中消除这种需要

发件人:

链路时间优化(LTO)为GCC提供了转储数据的能力 内部表示(GIMPLE)到磁盘,以便所有不同的 组成单个可执行文件的编译单元可以优化为 单个模块。这扩大了程序间审查的范围 优化以涵盖整个程序(或者更确切地说,包括所有内容 在链接时可见)

:

原则上,结果应该执行得更快,但我们的IPA成本更低 模型仍然没有针对LTO进行调整。我们已经看到了加速以及 基准测试中的慢化(参见 )