Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 构建评测:CMake/ninja能为每个编译单元生成编译时间日志吗?_C++_Cmake_Profiling_Compilation Time - Fatal编程技术网

C++ 构建评测:CMake/ninja能为每个编译单元生成编译时间日志吗?

C++ 构建评测:CMake/ninja能为每个编译单元生成编译时间日志吗?,c++,cmake,profiling,compilation-time,C++,Cmake,Profiling,Compilation Time,我试图分析我的项目的构建时间,这样我就可以看到什么花费了最多的时间。这看起来应该很容易。。。如果我在一个文件中列出了每个clang命令,我可以对它们进行计时并按时间排序,以找到耗时最长的编译,然后我可以进去看看哪些编译单元令人惊讶,并尝试找出它们如此慢的原因 谷歌搜索在这方面我一无所获。显然,这是可能的,也是有用的 因此,要么: 基本上这样做的选项是什么 或 如何让CMake/ninja转储它想要运行的所有clang命令列表 或者,可能的方法是编写一个脚本,记录命令和所花的时间,并将其用作

我试图分析我的项目的构建时间,这样我就可以看到什么花费了最多的时间。这看起来应该很容易。。。如果我在一个文件中列出了每个
clang
命令,我可以对它们进行计时并按时间排序,以找到耗时最长的编译,然后我可以进去看看哪些编译单元令人惊讶,并尝试找出它们如此慢的原因

谷歌搜索在这方面我一无所获。显然,这是可能的,也是有用的

因此,要么:

  • 基本上这样做的选项是什么

  • 如何让CMake/ninja转储它想要运行的所有
    clang
    命令列表
  • 或者,可能的方法是编写一个脚本,记录命令和所花的时间,并将其用作
    CXX\u编译器\u启动器

要获取编译命令列表,请使用

尝试使用该工具以Chrome的about:tracing格式获取构建配置文件