这是我运行下面命令时观察到的情况。

给出几个配置选项:

--config=dbg —Build with debug info.

--config=mkl —Support for the Intel® MKL-DNN.

--config=monolithic —Configuration for a mostly static, monolithic build.

bazel build --config= monolithic //tensorflow/tools/pip_package:build_pip_package

它通过clang编译了几个cpp代码,这占据了大部分构建时间,部分原因可能取决于从哪个目标CDN下载/编译源代码(不确定是否有选择特定目标CDN的选项)。

其次,我观察到编译的代码产生了需要进一步编译的输出程序。

例如,最初完成/目标是类似于[1000 / 5000],随着完成编译数量的增加,目标数字逐渐增加,比如后来可能是[2500 / 7500],所以此时正在赶上,并且最终取决于系统配置(RAM,CPU)以缩短总体时间。

第三个选项是尝试不同的顶部配置选项。

从源代码构建TensorFlow可能会使用大量RAM。如果您的系统内存受限,请使用以下选项限制Bazel的RAM使用情况:--local_ram_resources = 2048。

此外,添加选项-march=native有助于改善性能。

参考:https://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/i386-and-x86_002d64-Options.html

注意:这只是我在MAC PRO(32 GB内存,Intel i9 8核心,OS ventura 13.2)上运行时的观察结果。