GPTimeProfiler
用于追踪任意代码片段的执行时间。时间追踪发生在一次剖析周期内。一个周期是从一个方法调用-start
到另一个方法调用-stop
的时间。GPTimeProfiler
类的对象存储了剖析周期的总数。每次对-stop
方法的调用,剖析周期的数量都会增加1。GPTimeProfiler
可以用来确定执行的整体时间或单个剖析周期的平均时间。它还可以用来追踪剖析周期的数量。
它提供了方便的方法来获取作为一个NSString
的追踪时间(以秒和毫秒为单位)。
《GPTimeProfiler》的时间追踪部分基于函数《CFAbsoluteTimeGetCurrent()》。《GPTimeProfiler》可以用于Objective-C和Swift应用程序。
使用《GPTimeProfiler》来剖析一个或多个周期
GPTimeProfiler *p = [[GPTimeProfiler alloc] init:@"name"];
for (int i = 0; i < 100; i++) {
[p start];
[NSThread sleepForTimeInterval:0.01f];
[p stop];
}
NSLog(@"%@", [p averageTimeS]);
NSLog(@"%@", [p averageTimeMs]);
并输出将类似于此:
2016-02-18 14:39:05.124 xctest[15556:688513] name s: 0.11
2016-02-18 14:39:05.126 xctest[15556:688513] name ms: 107.37
要运行示例项目,克隆仓库,然后从Example目录首先运行pod install
。
要将《GPTimeProfiler》添加到您的Swift项目中,请将以下内容添加到连接头中
#import "GPTimeProfiler.h"
《GPTimeProfiler》可通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中
pod "GPTimeProfiler"
Grigory Ptashko, [email protected]
《GPTimeProfiler》在MIT许可证下可用。有关更多信息,请参阅《LICENSE》文件。