我有以下代码需要一段时间才能处理:
self.itemsArray = [Helper changeTheA:self.itemsArray];
self.itemsArray = [Helper convertDates:self.itemsArray];
有没有一种方法,在 Instruments 或其他地方,我可以测量从第一行代码到第二行代码所花费的时间......以滴答或毫秒或其他什么为单位?
我想做一些调整,但我需要能够进行测量,以查看我是否对以前的代码进行了改进。
最佳答案
最快、最脏、可能不是很精确的方法
NSDate *startDate = [NSDate date];
self.itemsArray = [Helper changeTheA:self.itemsArray];
NSLog(@"changeTheA time taken: %f", -[startDate timeIntervalSinceNow]);
一个稍微复杂但可能更有用的解决方案,如果您正在做一些基本的分析,可以看到 here ,它使用 C 函数来执行您提供的 block 。
大边注
正如 Justin 指出的,创建 NSDate
然后将其注销的实际行为会给您的测量带来干扰,因此这种技术仅对获得大概数字有任何好处,即便如此,您应该可能在计时 block 内运行大量的代码迭代。如果您需要准确的测量值,请跳至 Justin 的回答
关于ios - 如何测量 iOS 的 Objective-C 中两行代码之间花费的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10219571/