如何在iOS中运行时钟 - 测量性能速度?

时间:2014-03-06 02:05:11

标签: ios objective-c performance

我最近尝试回答基于速度的问题here,并且需要一些方法来衡量各种操作的工作时间。我看到人们偶尔提到不同编码方法的速度,我想知道,在Objective-C中测量速度性能的最佳方法是什么?

以下是我一直在使用的内容:

NSDate* operation = [NSDate date];

// Code you want to measure goes here

NSLog(@"Time: %f", -[operation timeIntervalSinceNow]);

这是一个可接受的,有用的测量方法,还有更好的替代方法吗?

2 个答案:

答案 0 :(得分:0)

当然,这很有效。我倾向于使用NSTimeInterval变量和

-[NSDate timeIntervalSinceReferenceDate]

方法,因为这给了我一个标量常量,我可以直接进行数学运算(结束时间间隔 - 开始时间间隔=经过时间)

如果你有一个特定的代码块,你想测量它的性能,这才真正有用。使用“仪器”工具可以全局监控程序在不同代码块中花费的时间,这通常更有用。它可以让您找到代码中的“瓶颈”,这有助于您找到最佳的优化候选者。

答案 1 :(得分:0)

Stephen Canon在这个帖子How to log a method's execution time exactly in milliseconds?中的回答(23个赞成票)更准确。