⊛ ARPerformanceScout ⊛ 是一个用于发现 Objective-C 性能瓶颈的瘦工具。
在源代码中
/* Measures the time taken to run a piece of code on the current thread */
ARpS_measure(^{
[self writeSomethingToAFile_blocksTheUI];
});
生成的日志消息
≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌
⊛ ARPerformanceScout ⊛
✔ Measured: 2.512919s
≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌
当不确定一个方法是否阻止 UI 时,调用 ARpS_blockThread()
可以很快使其明显。
/* blocks the current thread for 3 seconds */
ARpS_blockThread(3);
当应用的不同部分的的两段代码需要计时,ARpS_startTimer()
和 ARpS_stopTimerAndLog()
可以帮助。
调用这两个函数
/* FirstSourceFile.m */
- (void)firstDummyMethod {
...
ARpS_startTimer();
}
/* SecondSourceFile.m */
- (void)secondDummyMethod {
...
ARpS_stopTimerAndLog();
}
结果是一个日志
≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌
⊛ ARPerformanceScout ⊛
✔ Timed: 15.291372s
≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌≌
Claudiu-Vlad Ursache
Artsy
ARPerformanceScout 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。