gpt4 book ai didi

windows - GNU Make - 如何添加时间戳输出(最小化 makefile 修改)

转载 作者:可可西里 更新时间:2023-11-01 11:48:01 31 4
gpt4 key购买 nike

我想更好地了解我的构建作业指标,但不幸的是,make 本身并不输出时间戳。

如果我运行 make --print-data-base,对于给定的目标,它会输出一行

#  Last modified 2016-08-15 13:53:16

但这并没有给我持续时间。

问题

有没有办法在不修改每个目标的情况下获得构建目标的持续时间?一些目标位于生成文件中,这些生成文件是在构建期间生成的,因此修改它们的配方是不可行的。

可能的解决方案

我可以 implement a pre- and post-recipe for every target并以这种方式输出时间戳。

鉴于这是并行 make,这是个好主意吗?显然,为每个目标调用前后配方会增加构建时间,但我对此表示满意。

最佳答案

如果这是并行生成,则“preactions”、“actions”和“postactions”可能会交错。也就是说,您可能会得到如下输出:

Pre-action 12:03:05
Pre-action 12:03:06
building foo...
building bar...
Post-action 12:04:17
Post-action 12:04:51

因此,您应该将 TARGETNAME 变量传递给操作前和操作后脚本。

此外,当您并行运行事物时,开始和结束时间并不是了解一个 Action 需要多长时间的全部;规则 A 可能比规则 B 花费更长的时间,这仅仅是因为规则 B 单独运行,而规则 A 与规则 C 到 J 共享处理器。

除此之外,我认为这种方法没有问题。

关于windows - GNU Make - 如何添加时间戳输出(最小化 makefile 修改),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083011/

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