Высокоточный таймер в Android JNI - PullRequest
7 голосов
/ 20 февраля 2011

Я пытаюсь профилировать свое приложение JNI. Есть ли что-то вроде «Получить галочки с момента запуска», которое я могу использовать для измерения функций и / или систем? Подойдет все с точностью до 1/10 миллисекунды.

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

Ответы [ 2 ]

15 голосов
/ 23 марта 2011

clock_gettime (). Вы увидите пример кода в файлах android-ndk-r5b / samples / hello-neon / jni / helloneon.c и android-ndk-r5b / samples / native-plasma / jni / plasma.c.

Вы хотите найти что-то вроде CLOCK_MONOTONIC, чтобы убедиться, что вы получаете тики с момента запуска, а не настенные часы.

2 голосов
/ 20 февраля 2011

Взгляните на

System.currentTimeMillis();

и / или

System.nanoTime();

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

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