如何理解Bazel的输出时间?

时间:2017-06-12 11:26:44

标签: bazel

每次构建完成后,我都会看到类似的内容:

经过时间:1034.748s,关键路径:257.54s

想知道经过时间和关键路径之间的区别是什么?什么可能导致时差?

转发自:https://github.com/bazelbuild/bazel/issues/3164

1 个答案:

答案 0 :(得分:9)

“已用时间”显示构建的时间,因为Bazel开始运行第一个构建操作,直到最后一个操作完成。

“关键路径”显示构建最长操作链所花费的时间,其中每个后续操作都取决于前一个操作的输出,因此它们必须按顺序运行。关键路径是此构建的清理构建时间的下限;即使CPU的内核数量多于Bazel并行运行的内核数量,构建仍然无法更快完成。

时差是由Bazel执行其他操作引起的。大概有更多的行动要比关键路径上的行动更多。