1

C++ で作成したアルゴリズムのパフォーマンスをテストしようとしています。大学の計算クラスタを使用しています (SGE 経由)

問題は、サーバーがいつ満杯になるか、他の計算で満杯でないかがわからないため、有効なユーザー時間を測定できないことです (プロセスがビジーであるかどうかに関係なく、ユーザー時間は変わらないと思います。私は間違っていますか?)

ユーザータイムは、アルゴリズム間の時間パフォーマンスを計算して比較するために使用される時間ではありませんか? 同じ実行で同じ結果が得られないため

4

3 に答える 3

1

タイムシェアを利用している場合、アルゴリズムの実行時間は実行ごとに異なります。

timeシェルコマンドは試しましたか?

time [MY PROGRAM]

または、より多くの情報については、GNU Timeコマンド?

/usr/bin/time <MY PROGRAM> [ARGS]

これらのコマンドは簡単に開始でき、必要な情報の一部を提供します。

また、クラスターについて言及していますが、おそらく MPI または別のフレームワークを使用していますか? おそらく、このフレームワークにはいくつかの組み込みのタイミング コマンドがあります (そのようなものが存在するかどうかはわかりませんが、調べる価値があるかもしれません)。

于 2012-12-10T18:02:25.960 に答える
0

小さな標準テストを書くことができます。このテストは「1」を表します。次に、複雑なアプリケーションが相対的に測定されます。たとえば、アプリケーションは標準テストの 4 回かかります。標準テストとアプリケーションを同時に実行する必要があります。

于 2012-12-10T18:03:06.417 に答える
0

パフォーマンス メトリクスを比較するには、「ユーザー時間」というノイズをカットする必要があります。優れたプロファイリング ツールはたくさんあります。あなたの大学がそれらのいずれかを使用できるかどうかを確認できます。

于 2012-12-10T18:01:28.987 に答える