当我从Java代码执行C++程序时,我应该如何测量它的执行时间
How should i measure execution time of a C++ program when I execute it from Java code?
我知道这个问题一开始可能没有意义,但我会在这里解释。
首先,我有以下C++代码,一个简单的Hello World。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello World ");
return(0);
}
现在我在Java中使用以下代码来调用它:
long start = System.nanoTime();
Process p = Runtime.getRuntime().exec("/home/name/./test");
long totalTime = System.nanoTime() - start;
System.out.println("Time: " + totalTime);
做了几次之后,我得到了以下输出:
时间:8155128
时间:732204
时间:508819
时间:662987
我想知道这是否是衡量c++代码执行时间的正确方法,我想知道是否有解释为什么第一次执行显示的时间总是比其他执行大10倍(即使是纳秒)
操作系统可能会将c++应用程序放在缓存中,这样下次执行会更快。
相关文章:
- 在C++中测量postscript字体宽度
- 有没有一种方法可以测量c++程序的运行时内存使用情况
- 用时钟测量程序的运行时间
- 用于测量微秒的QueryPerformanceCounter的奇怪行为
- 为什么根据测量位置测量经过的时间时会有很大的不同?
- 为什么我的程序在输入某个形状的面积的测量值后没有结束?
- 为什么在尝试测量函数返回所需的时间时,我的运行时编号是错误的?
- 分别测量每个线程上花费的 CPU 时间(C++)
- 如何测量管道延迟?
- 测量时间以在 c++ 中生成更好的随机数
- OpenCL 内核计时测量 0 秒或导致 SIGABRT
- 给定使用 C++ 或 C,我如何测量在 linux 下进行线程切换需要多长时间?可能吗?
- 使用 Qt 测量过程的实际运行时间
- 为什么 std::chrono 在测量循环和编译器优化的并行 OpenMP 的执行时间时不起作用?
- V8垃圾收集器回调,用于测量GC活动
- 测量精确的时间,单位为纳秒C++
- 如何测量cudaMalloc执行时间
- C/C++memcpu基准测试:测量CPU和墙时间
- 如何测量一个音频样本中的低音量
- 如何访问CGAL三维三角测量中的面