时间和内存消耗java类和c ++文件

时间:2012-10-18 03:30:14

标签: java shell

你好我正在做一个关于编程算法测量的项目

我怎么知道从开始到结束的执行时间和一个类的RAM消耗在java和c ++文件中创建了算法。

我需要从linux shell开始,因为我们的想法是将这些结果存储在Ruby on Rails的变量中以供Web查看。所以我不能使用任何外部程序,除非这给了我linux终端的答案

1 个答案:

答案 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;