Bazel 运行很慢

Bazel runs very slowly

我有一个相对简单的 Bazel 项目,其中包含以下内容:

当我第一次 运行 bazel 时,执行它需要很多时间。它编译grpc,protobuf等,这是有道理的。

然而,当我立即 运行 再次编译时,即使在增量情况下,我的构建也需要大约 80 秒。对于一个如此简单的项目,我本来期望更快的性能——尤其是因为据说速度是 Bazel 的主要优势。

据我所知,我的 bazel 构建的性能非常快,直到我合并 grpc/protos。

以下是 bazel 的分析器报告的一些信息。我在探查器输出中看不到任何确凿证据。

一个可能的区别是我在 macbook 上托管的 ubuntu docker 容器上构建 运行。轻量级 hyperkit VM 上的 macos docker 实现 运行s。所以这不是本机构建。但我还是没想到会这么慢!

阶段摘要信息

初始阶段信息

执行阶段信息

我在 AWS EC2 实例上尝试了相同的构建。那里的增量构建要快得多。所以我假设速度缓​​慢是由于 VM 内部 运行 导致的一些文件系统问题。