gpt4 book ai didi

makefile - 如何对 GNU Make 文件进行性能分析

转载 作者:行者123 更新时间:2023-12-04 14:50:29 30 4
gpt4 key购买 nike

我们有很多 GNU Make 文件。我想对构建期间使用的每个目标进行计时,以确定任何性能瓶颈。有没有一种工具或技术可以方便和自动地做到这一点?

我可能想解析这些结果,以便在构建更改和增长时密切关注性能因素(但它已经非常庞大和复杂)。

最佳答案

我想我以前在这里见过这个问题......

您可以将 shell 替换为调用 shell 但对其执行计时的东西,并将结果与​​目标名称一起写入某处。每个目标只会被构建一次(或者 make 会拒绝运行),所以你要做的就是把时间加在一起。

非常粗略的例子:替换

make


make SHELL='echo $@: && time sh'

如果您不想将时间加在一起,您还必须以某种方式将每个目标的命令合并为一个命令。一种方法是对 Makefile 进行预处理,但由于各种原因,除了最简单的 Makefile 之外,这对任何其他文件都不起作用。

例如。尝试类似的东西
perl -0pe 's/([^:])\s*\n\t[@-]?/$1; /g' Makefile | make -f - SHELL='echo $@: && time sh'

在那个方向上是一个非常粗糙的刺。

有多种替代方法,但我认为唯一真正的解决方案是添加此功能; GNU make 是用非常可移植的 C 语言编写的,因此应该不会很难做到。

关于makefile - 如何对 GNU Make 文件进行性能分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7175503/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com