こんにちは、アルゴリズム測定のプログラミングに関するプロジェクトを行っています
Javaでアルゴリズムを作成し、C++で作成したファイルの実行開始から終了までの時間とRAM消費量を知る方法。
これらの結果は Web 表示用に Ruby on Rails の変数に格納されるという考えがあるため、Linux シェルから実行する必要があります。そのため、Linuxターミナルで答えが得られない限り、外部プログラムを使用できません
試してみません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;