У меня такое же предупреждение при добавлении к возможностям устройства «healthkit» t в информационном plist.
Этот пакет недействителен - ключ UIRequiredDeviceCapabilities в Info.plist может не содержать значений, которые предотвратит запуск этого приложения на устройствах, которые поддерживались предыдущими версиями.
blockquote>удалить Info.plist -> Требуемые возможности устройства -> Пункт -> healthkit, загрузить снова, чтобы отправить обзор.
При поиске этого уровня синхронизации разрешения Вы, вероятно, пытаетесь сделать некоторую микрооптимизацию. Если это так, необходимо посмотреть на PAPI. Мало того, что это обеспечивает и тактовый стеной и виртуальный (обрабатывают только) информация синхронизации, это также обеспечивает доступ к счетчикам события ЦП, которые могут быть необходимыми, когда Вы пытаетесь улучшить производительность.
Можно использовать Таймер События Высокой точности ( HPET), если у Вас есть довольно недавние 2,6 ядра. Выезд Documentation/hpet.txt о том, как использовать его. Этим решением является зависимый платформы, хотя и я полагаю, что это только доступно в более новых x86 системах. HPET имеет, по крайней мере, таймер на 10 МГц, таким образом, он должен соответствовать Вашим требованиям легко.
я полагаю, что несколько реализаций PowerPC от Freescale поддерживают цикл точный счетчик команд также. Я использовал это много лет назад для профилирования очень оптимизированного кода, но я не могу помнить то, чем это называют. Я полагаю, что Freescale имеет патч ядра, который необходимо применить для доступа к нему от пространства пользователя.
http://allmybrain.com/2008/06/10/timing-cc-code-on-linux/
мог бы помочь Вам (непосредственно, если Вы делаете его в C/C++, но я надеюсь, что это даст Вам подсказки, даже если Вы не будете)... Это утверждает, что обеспечило точность микросекунды, которая просто передает Ваш критерий.:)
Если Вам нужны очень маленькие единицы измерения времени к для (я принимаю), тестирование скорости Вашего программного обеспечения, я был бы reccomend, просто выполняющий части, Вы хотите ко времени в цикле миллионы времен, не торопитесь прежде и после цикла и вычислите среднее число. Хороший побочный эффект выполнения этого (кроме не необходимости выяснить, как использовать наносекунды) состоит в том, что Вы получили бы более последовательные результаты, потому что случайные издержки, вызванные планировщиком OS, будут составлены в среднем.
, Конечно, если Ваша программа не должна быть в состоянии выполнить миллионы времен через секунду, это, вероятно, достаточно быстро, если Вы не можете измерить время выполнения миллисекунды.
Посмотрите этот вопрос еще для некоторой информации.
Что-то, что я использовал для таких вещей, является gettimeofday (). Это предоставляет структуре секунды и микросекунды. Назовите его перед кодом, и снова после. Затем просто вычтите эти две структуры с помощью timersub, и можно получить время, которое потребовалось в секундах от tv_usec поля.
Я полагаю, что CFC ( Абсолютно Справедливый Планировщик ) - то, что Вы ищете.
Я думаю, что нашел патч ядра, который я искал. Регистрация его здесь, таким образом, я не забываю ссылку:
http://user.it.uu.se/~mikpe/linux/perfctr/ http://sourceforge.net/projects/perfctr/
Править: Это работает на мои цели, хотя не очень удобный для пользователя.
попробовать счетчик метки времени ЦП? Википедия, кажется, предлагает использовать clock_gettime ().