google-chrome - 如何更快地构建 Chromium?

标签 google-chrome chromium

仅遵循此处的说明 - https://www.chromium.org/developers/how-tos/get-the-code我已经能够成功构建并获得一个 Chromium 可执行文件,然后我可以运行它。

因此,为了学习目的,我一直在玩代码(向浏览器添加新按钮等)。因此,每次我进行更改(例如在设置工具栏中添加一个新按钮)并使用 ninja 命令构建它时,需要 3 个多小时才能运行可执行文件。我猜它会再次构建每个文件。

我有一台运行 64 位 Ubuntu 的相当强大的机器(i7,8GB RAM)。有没有办法加快构建速度? (目前,我实际上只是按照上述链接中的说明进行操作,没有其他优化来加快速度。)

非常非常感谢你!

最佳答案

如果您所做的只是修改一些文件并重建,那么 ninja 只会重建受这些文件影响的对象。当您运行时 ninja -C ... ,控制台显示需要构建的目标数量。如果你只修改几个文件,那么高端应该是~2000(修改流行的头文件可以触及很多对象)。修改单个 .cpp 将导致仅重建该对象。
当然,您仍然需要重新链接,这可能需要很长时间。为了使链接更快,请尝试使用组件构建,它将所有内容保存在单独的共享库中,而不是一个需要为任何更改重新链接的大文件。如果您使用 GN,请添加 is_component_build=truegn args out/${build_dir} .对于 GYP,请参阅 this page .
您也可以仔细阅读 faster linux builds看看是否有任何提示适用于您。不幸的是,Chrome 是一个庞大的项目,因此构建自然会很长。但是,一旦您完成了初始构建,增量构建的时间应该是几分钟而不是几小时。

关于google-chrome - 如何更快地构建 Chromium?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37134466/

相关文章:

javascript - 页面加载失败时在 Chrome 中获取当前域名

javascript - 如何使用 Electron 控制视频的对比度?

puppeteer - 我找不到稳定 chrome 的 chromium 构建版本

chromium - puppeteer/ Chrome : handle crashing memory-heavy pages?

javascript - JSHandles 只能在创建它们的上下文中进行评估/找不到具有指定 ID 的上下文

google-chrome - CSS3 -webkit 不同于 vista - windows 7

html - 禁用我网站上的 Chrome 翻译栏

javascript - 为什么在 Node env 和 Chrome 控制台之间运行相同的代码会有所不同?

javascript - Webpack 开发服务器 - 不允许加载本地资源

javascript - "Request to ServiceWorker"操作指的是什么?