首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结合性能考虑编译Chrome/Chrome

结合性能考虑编译Chrome/Chrome
EN

Stack Overflow用户
提问于 2016-10-18 15:04:10
回答 1查看 1.7K关注 0票数 5

目前,我正在权衡运行本地铬版本的潜在利弊。

我以前从未从源代码中构建过铬,但我知道这是一个庞大的项目,而且编译要求很高,而且很费时。

我以前试过这个想法,但原因是以表现为中心。具体而言:

  • 铬能从轮廓引导优化中获益吗?
  • 与使用通用二进制构建相比,使用GCC本地CPU优化构建铬是否能提供更多的性能优势?(特别是哈斯韦尔和布罗德维尔建筑师)
  • 在本地构建铬时,还能做些什么来提高整体性能或内存效率吗?

经过一段时间的研究,我最终得出了这样的结论:这是不值得付出的努力。

我确实记得几年前运行过Firefox的PGO构建,而且Firefox似乎仍然为运行PGO构建提供了不错的支持。然而,就铬而言,它似乎要复杂得多。

铬似乎对PGO的构建有一些本地支持。不幸的是,这种支持看起来完全是Windows特有的。不支持其他操作系统的PGO构建,而且所有Chromium独特的构建复杂性,似乎不值得在没有这种帮助的情况下尝试使用PGO构建。

如果其他人知道有人在Linux上成功地尝试了这一点,我将非常感兴趣地看到结果。

关于GCC的CPU优化,我的理解是,这里提供的好处几乎总是有限的,但考虑到铬是多么复杂,它可能比大多数应用程序受益更多,这似乎是合理的。

仅仅对GCC进行优化可能还是不值得的,但我再次考虑这样做的原因是,我还可以利用修补程序启用VA:https://aur.archlinux.org/packages/chromium-vaapi/

最后,获得对硬件加速视频解码的支持是值得的。现在,我好奇的是,在这样做时,性能考虑是什么。

tl;dr

  • 当使用本地编译的带有本地CPU优化的Chromium版本时,我能期望在性能上有什么明显的差异吗?
  • 在Linux上使用Chromium的PGO可行吗?如果可行,那么进行实际分析的最佳方法是什么?
EN

回答 1

Stack Overflow用户

发布于 2017-01-17 08:37:56

FWIW,我运行Gentoo Linux,这意味着我的系统上的一切都是从源代码编译的。我在从源代码中构建铬、使用自定义标记和使用也可用的二进制google稳定包之间进行了交替。我确实注意到了运行本地编译的Chrome与预装的Google二进制代码相比的性能改进。

现在,我不能说这是编译器优化的结果,还是Google Chrome和Chrome版本之间的差异(目前它们非常接近-- Google 55.0.2883.87和Chromium55.0.2883.75)。但是,改进已经足够了,我将回到铬,并可能会停留一段时间。

从源代码构建它的缺点(尤其是如果在您的操作系统上更新包意味着重新构建它),它经常运行,而在i7 8Gb笔记本电脑上用SSD构建它需要将近两个小时。因此,它将大多数系统更新转化为一个漫长而缓慢的过程--这就是我一年或两年前转向二进制构建的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40111800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档