linux – 根据性能考虑编译Chrome / Chromium
我目前正在权衡运行Chromium本地构建的潜在利弊.
我以前从未在源代码中构建过Chromium,但我知道这是一个庞大的项目,编译要求非常庞大且耗时. 我之前已经涉足过这个想法,但其原因主要集中在表现上.具体来说: > Chromium可以从配置文件引导优化中获益吗? 经过一段时间的研究后,我最终得出的结论是,这不值得付出努力. 我确实记得几年前运行PGO版本的Firefox,Firefox似乎仍然为运行PGO构建提供了不错的支持.但是,在Chromium的情况下,它看起来要复杂得多. Chromium似乎对PGO构建有一些原生支持.不幸的是,该支持看起来完全是Windows特定的.不支持其他操作系统的PGO构建,并且由于所有Chromium独特的构建复杂性,在没有这种帮助的情况下尝试PGO构建似乎并不值得. 如果有人知道有人在Linux上成功尝试过这个,我会非常有兴趣看到结果. 关于GCC CPU优化,我的理解是这里提供的好处几乎总是微不足道的,但是随着Chromium的复杂程度,它似乎比大多数应用程序更能从中受益更多. 仅仅GCC优化仍然可能不值得,但我考虑再次这样做的原因是我也可以利用补丁来启用VA-API: 最后获得对硬件加速视频解码的支持可能值得付出努力.现在我感到好奇的是这样做时的性能考虑因素. TL;博士 >当使用本地CPU优化本地编译的Chromium构建时,我可以期待任何明显的性能差异吗? 解决方法
FWIW,我运行Gentoo Linux,这意味着我的系统上的所有内容都是从源代码编译的.我已经交替建立了从源代码构建铬,使用自定义cflags,以及使用二进制google-chrome-stable软件包.我注意到运行本地编译的铬与谷歌Chrome的预打包二进制文件的性能提升.
现在,无论是编译器优化的结果,还是谷歌Chrome和Chromium版本之间的差异(目前它们彼此非常接近 – 谷歌Chrome 55.0.2883.87和Chromium 55.0.2883.75),我不能说.但是这种改进足以让我回到Chromium并且可能会留下一段时间. 从源代码构建它的缺点(特别是如果在操作系统上更新软件包意味着重建它)是它频繁转换,并且在带有SSD的i7 8Gb笔记本电脑上构建它需要将近两个小时.因此,它将大多数系统更新转变为一个漫长而缓慢的过程 – 这就是我在一两年前切换到二进制构建的原因. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |