J'essaie de mesurer le temps dans l'appel JNI, il appelle du natif à Java.Mesurer le temps en Java JNI (appel natif Java)
En code C, j'applique l'API "GetTickCount" pour obtenir le temps d'exécution JNI et "System.nano" en Java.
Exemple:
long start = GetTickCount();
....//CallStaticMethod exampleMethod...
long end = GetTickCount();
long duration = end - start;
Et en Java
public static exampleMethod(){
long start = System.nano();
//do something
long end = System.nano();
long duration = TimeUnit.NANOSECONDS.toMilis(end - start);
}
Parfois, il est incompatible parce que la durée de la java est plus que la durée C. (environ 5 à 10 millisecondes)
'GetTickCount' retourne ** milli secondes **, elle retourne' System.nanoTime (') ** nano ** secondes. – apangin
Désolé pour dérangement. Ce n'est pas lié à l'heure de l'unité. Le dernier code de ligne me manque pendant que je poste ici. En fait, je convertis nano en milisecondes dans mon code source :). La durée de Java est supérieure à la durée de C sous la même unité (milisecondes) – LGProgramer