你好我正在做一个关于编程算法测量的项目
我怎么知道从开始到结束的执行时间和一个类的RAM消耗在java和c ++文件中创建了算法。
我需要从linux shell开始,因为我们的想法是将这些结果存储在Ruby on Rails的变量中以供Web查看。所以我不能使用任何外部程序,除非这给了我linux终端的答案
答案 0 :(得分:0)
为什么不试试cat /proc/1234/smaps
?
这里:1234是应用程序的PID。 此外,JVM还可以访问获取JVM可用内存量的方法以及使用的内存量。 Runtime.getRuntime().totalMemory() and Runtime.getRuntime().freeMemory() 要测量执行时间(不是高精度),请使用“时间”功能。
对于C ++:
time_t start_time = time(NULL);
/*your algorithm*/
time_t end_time = time(NULL);
cerr <<"Execution Time: "<< (end_time - start_time);
对于Java:
long startTime = System.nanoTime();
/*Your algorithm*/
long endTime = System.nanoTime();
long duration = endTime - startTime;