每次构建完成后,我都会看到类似的内容:
经过时间:1034.748s,关键路径:257.54s
想知道经过时间和关键路径之间有什么区别?什么可能导致时差?
转发自:https://github.com/bazelbuild/bazel/issues/3164
"经过的时间"显示了构建的时间,因为Bazel开始运行第一个构建操作,直到最后一个操作完成.
"关键路径"显示构建最长动作链所花费的时间,其中每个后续动作取决于前一个动作的输出,因此它们必须按顺序运行.关键路径是此构建的清理构建时间的下限; 即使CPU的内核数量多于Bazel并行运行的内核数量,构建仍然无法更快完成.
时间差是由Bazel执行其他操作引起的.大概有更多的行动要比关键路径上的行动更多.