分析GPRBuild

时间:2018-04-19 18:13:34

标签: ada gprbuild

我有一个基于GPR的大型项目,编译时间可能超过30分钟。

分析了构建过程后,我注意到许多明显的低效率(多次调用gprbuild而不是聚合,过度使用替代文件而不是配置等)。我想知道是否有一些方法来描述'构建过程,看看需要这么长时间。

特别是即使单个文件发生更改并且出现错误,也需要大约5分钟重新编译。从理论上讲,应该很快意识到必须重新编译该文件(它是唯一的文件)并启动编译过程,快速发现错误。

从详细输出看起来好像只需要解析用于定义构建的大量gpr文件网络,但我想知道它花费大部分时间在哪里。

因此我的问题是:是否可以分析gprbuild完成的构建?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:4)

从低到高的复杂性:

  • 要求gprbuild报告有关旗帜-vh的详细信息。
  • 通过gprbuild运行strace
  • 使用所需的标记重建gprbuild以使用gprof对其进行分析(但要注意gprof并不总是说实话)。