0

私はキャリパーベースのテンプレートhttps://github.com/dcsobral/scala-foreach-benchmarkを何年も喜んで使用してきました。ランダムに構築された問題を複数回実行し、平均消費時間を計算します。

今、私は非決定論的アルゴリズムに直面しています。そのため、実行時間と結果のフィットネスの両方を知る必要があります。平均的なシナリオと最悪のシナリオの両方の特性を測定できる Java/scala ベンチマーク フレームワークを探しています。

非決定論的とは、アルゴリズムが何らかの乱数発生器に依存して決定を行うことを意味します。以前は、最適に近いソリューションを見つけていましたが、最適なソリューションを検索するには多くのプロセッサ時間が必要でした。たとえば、TSP 問題の解決策。

適合度とは、最適化プロセスのコスト関数を意味します。異なる実行 (異なるランダム シードを使用) では、異なるコストが発生する場合があります。そのため、実行時間だけでなく、コスト値 (フィットネス) を安定させる必要があります。

実行時間の変動が許容範囲内であることを示すまで関数を繰り返し呼び出すことがベンチマーク フレームワークの一般的な機能であるかどうかはわかりませんが、キャリパーはそうです。より高度で、時間以外の適合性を処理できる同様のフレームワークを探します。

4

1 に答える 1

0

JMHを使用します。Scala バインディングがあり、実行時間をサンプリングできます。

于 2014-03-27T07:07:09.263 に答える