2010年11月9日火曜日

性能測定を行うマクロ

hファイルに以下を定義
#define BM_START(name) NSDate *name##_start = [NSDate new]
#define BM_END(name) NSDate *name##_end = [NSDate new];\
NSLog(@"%s interval: %f", #name, [name##_end timeIntervalSinceDate:name##_start]);\
[name##_start release];[name##_end release]

計測したい箇所に下記を記入。
BM_START(name);
/* 計測したい箇所 */
BM_END(name);

コンソールにname部分に入れた名前で秒数が表示される。
シミュレータと実機で計測結果は異なるのでなるべく実機で計測する。

*参考記事*
Objective-Cでちょっとした性能測定を行うマクロ