在C代码中回归运行时相关降级的最佳方法

时间:2011-08-31 06:34:09

标签: c profiling runtime

我想看看是否有一种优雅的方法来创建一种机制,该机制可以跟踪某个函数的运行时是否因特定测试版本在发布时降级。

在我的软件中说如果有100个高级函数,我想看看在运行时发布版本中哪些函数已经降级才能发布。假设我在各个版本中运行相同的测试,并在文本文件中记录顶级(100个高级)函数的运行时间以进行比较。其他线程中很少有人评论使用宏,但围绕宏包装100个函数调用是丑陋和痛苦的。有任何更好的方法来解决这个问题。

2 个答案:

答案 0 :(得分:1)

如果您正确创建了单元测试(如果有的话),您可以创建一个宏来定义测试并自动记录每个测试的时间。理想情况下,每个单元测试使用尽可能少的不同类型的功能,如果您的某个测试花费的时间超过预期的一定余量,您可以用您的数据标记,如果您查看测试,您将能够确定什么是放慢速度(通常是你正在测试的)

答案 1 :(得分:1)

  1. Time your functions并将结果写入日志文件。
  2. 将每个版本的日志文件与早期版本的结果进行比较。
  3. 您还可以使用自动工具完成工作,例如gprof。 维基百科上列出了其他profiling tools