NSLog задержка-общий вопрос? - PullRequest
0 голосов
/ 25 августа 2011

Я использую NSLog много раз, и я знаю, что у него есть время задержки. мое приложение имеет время задержки, и мне интересно, может ли это создать много журналов.

например, если у меня есть этот код:

samplerTimer = [NSTimer scheduledTimerWithTimeInterval: 0.001f target: self selector: @selector(CheckData) userInfo: nil repeats: YES];
NSLog(@"%f",tmp);

таймер вызывает функцию каждые 1 мс, и она прекрасно работает, но меня беспокоит то, что журнал занимает больше времени, поэтому процедура таймера меняется. Я использую аппаратное обеспечение, поэтому важны миллисекунды.

я пытаюсь понять, что именно происходит во время nslog? система спит? другие вещи делаются параллельно? сколько именно времени это займет?

1 Ответ

1 голос
/ 25 августа 2011

NSLog() пишет в стандартный вывод или ошибка, используя printf. Это также приведет к сбросу, означающему, что программа блокируется до тех пор, пока вывод не будет отправлен в ОС. Это медленно.

Удаление операторов NSLog() значительно ускорит процесс. Самый простой способ отключить ведение журнала - добавить:

#define NSLog(...) 0

в заголовке вашего префикса (файл .pch), ниже , который включает фреймворк. Или вы можете добавить эту строку в файлы, которые хотите отключить. При эффективном замене всех операторов NSLog() на 0, что ничего не делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...