Высокоточный таймер в Android JNI

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

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

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

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

Взгляни на

System.currentTimeMillis(); 

и / или

 System.nanoTime(); 

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