-1

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

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

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

4

1 回答 1

0

为什么不试试cat /proc/1234/smaps

这里:1234 是应用程序的 PID。JVM 还可以访问用于获取 JVM 可用的可用内存量以及使用的内存量的方法。 Runtime.getRuntime().totalMemory() 和 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;
于 2012-10-18T03:34:00.593 回答