dispatch_benchmarkによるパフォーマンス計測
久々の更新になってしまった(´Д⊂
objc.ioの記事の中に、dispatch_benchmarkという関数を使っている記述を発見。
objc.io Low-Level Concurrency APIs
こんな感じ。
// 引数は回数と、計測したい処理のブロック uint64_t dispatch_benchmark(size_t count, void (^block)(void));
uint64_t n = dispatch_benchmark(10000,^{ NSMutableArray* array = [NSMutableArray array]; [array addObject:@"hoge"]; }); NSLog(@"n = %llu [ns]",n);
for文やenumrate〜で回すよりこっちの方がカッコ良いかも。
用途はデバッグとパフォーマンス計測のみ
この関数は非公開APIになっている。
当たり前だけど、製品版のソースには入れてはいけない。