Objective c NSLog延迟一般问题?

Objective c NSLog延迟一般问题?,objective-c,xcode,Objective C,Xcode,我多次使用NSLog,我知道它有一个延迟时间。 我的应用程序有延迟时间,我想知道是否有很多日志会造成延迟 例如,如果我有以下代码: samplerTimer = [NSTimer scheduledTimerWithTimeInterval: 0.001f target: self selector: @selector(CheckData) userInfo: nil repeats: YES]; NSLog(@"%f",tmp); 计时器每1ms调用一个函数,它工作得很好,但我关心的是日志

我多次使用NSLog,我知道它有一个延迟时间。 我的应用程序有延迟时间,我想知道是否有很多日志会造成延迟

例如,如果我有以下代码:

samplerTimer = [NSTimer scheduledTimerWithTimeInterval: 0.001f target: self selector: @selector(CheckData) userInfo: nil repeats: YES];
NSLog(@"%f",tmp);
计时器每1ms调用一个函数,它工作得很好,但我关心的是日志需要更多的时间,因此计时器例程会发生变化。 我使用硬件,因此毫秒很重要

我试图理解,nslog期间到底发生了什么?系统正在休眠?其他事情是并行的吗? 具体需要多长时间?

NSLog()
使用
printf
写入标准输出或出错。它还将导致刷新,这意味着程序阻塞,直到输出被发送到操作系统。这太慢了

删除
NSLog()
语句将大大加快速度。关闭所有日志记录的最简单方法是添加:

#define NSLog(...) 0
在前缀头(文件
.pch
中,下面的框架包括。或者,您可以在要静默的文件中添加此行。如果有效地将所有
NSLog()
语句替换为
0
,则不起任何作用