0

クロスプラットフォームの方法で、C++ 内でコンピューターの実際の「全体的な」パフォーマンスをテストする方法が必要です。

ベンチマーク スイート ソフトウェアでよく使用されるいくつかの簡単なテストを実行することを検討していますが、私が見つけたすべてのベンチマーク (ソフトウェア) スイートはクローズド ソースであるか、クロス プラットフォームではありません。したがって、アドバイス/ガイダンスを求めていますが、どのアルゴリズムが優先されますか? あまり仕事をせずに使用できる、すでに無料のスタンドアロン ライブラリはありますか? どんな助けでも大歓迎です。

私はテストすることを検討しています:

  • CPU/メモリ速度
  • ビデオカード速度
  • ディスク速度
  • 並列実行速度

Google V8 ベンチマーク JavaScript テストをコピーして、すでに埋め込まれている JavaScript V8 エンジンで実行する のが良い考えかどうかを考えていました: http://v8.googlecode.com/svn/data/benchmarks/v3/run.html

簡単なディスクのコピー、データの圧縮/解凍、階乗素数を実行する考えがあります。ビデオ カードのパフォーマンスについては、単純に SFML/OpenGL を使用して、GPU を多用する処理を行うことができます。しかし、これらすべてのことを行うには時間がかかるはずであり、最初から行うのは良いことでさえないかもしれません。したがって、質問:

クロスプラットフォームの方法で C/C++ 内でコンピューターの実際の一般的なパフォーマンスをテストする方法は?

私が使いたいと思うかもしれない良いアルゴリズムのヒントがあれば、私に知らせてください、それは助けになるだけです.

前もって感謝します!

注: 利用可能なハードウェアを確認することはできますが、コンピューターのパフォーマンスを実際に測定する最善の方法は、テストすることだと思います。

4

1 に答える 1

1

「実際の一般的なパフォーマンス」は、コンピューター上で実際のアプリケーションを実行し、そのパフォーマンスを測定することによって最もよくテストされます。そのため、3D ベンチマークには、「実際の」ゲームに可能な限り似た「実際の」3D シーンが含まれています。同じことがメモリと CPU 速度にも当てはまります --- 最も重要なことは、実際のメモリと CPU を集中的に使用するアプリケーションがコンピュータ上でどのように実行されるかです。小さなプログラムで実際の数百万行のアプリケーション スイートの操作フィンガープリントを模倣するのは非常に困難です。

むしろ、いくつかの (オープンソースの) 実際のプログラムを収集し、それらを自動的に実行してパフォーマンスを評価する方法を見つけたいと考えています。たとえば、GNU C コンパイラを使用して実行し、大きなアプリケーションをコンパイルします。オープンソースの高速化された 3D ゲーム (はい、存在します) を使用し、特定のフレーム数で実行されるようにパッチを適用することもできます。ハードディスクに直接、またはオープンソースのデータベース上で、多くの挿入と削除などを実行します。次に、実際のアプリケーションに基づいてテストのポートフォリオを構築し、それらからパフォーマンス インデックスを構築します。

于 2012-05-10T05:31:28.517 に答える