JNI 呼び出しの時間を測定しようとしています。ネイティブから Java への呼び出しです。
Cコードでは「GetTickCount」APIを適用してJNIの実行時間を取得し、Javaでは「System.nano」を適用します。
例:
long start = GetTickCount();
....//CallStaticMethod exampleMethod...
long end = GetTickCount();
long duration = end - start;
そしてJavaでは
public static exampleMethod(){
long start = System.nano();
//do something
long end = System.nano();
long duration = TimeUnit.NANOSECONDS.toMilis(end - start);
}
Java の期間が C の期間より長いため、一貫性がない場合があります。(約5~10ミリ秒)