我明白這個問題起初可能沒有道理,但我會在這裏解釋一下。當我從Java代碼執行它時,應該如何測量C++程序的執行時間?
首先,我有以下代碼:C++代碼,一個簡單的Hello World。
long start = System.nanoTime();
Process p = Runtime.getRuntime().exec("/home/name/./test");
long totalTime = System.nanoTime() - start;
System.out.println("Time: " + totalTime);
這樣一對夫婦的時候,我得到下面的輸出後:
時間:8155128
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello World ");
return(0);
}
現在我從的Java內使用該叫它時間:732204
時間:50 8819
時間:662987
我不知道這是衡量的C++代碼執行的時間以正確的方式,我想知道是否有關於爲什麼總是第一個執行顯示的時間的解釋10X比其他的更大(即使是納秒)
我不同意這是重複的。由於它是一個JNI程序,它肯定不是導致程序第二次運行得更快的JIT。 – 2014-10-10 01:32:36
假裝你是一名專業人士並且介紹了代碼。 – 2014-10-10 02:10:00