我明白这个问题起初可能没有道理,但我会在这里解释一下。当我从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