アルゴリズム時間

アルゴリズム時間

キャッシュミス、I/O、割り込み、ページエラーの待ち時間を無視し、アルゴリズムで使用されるサイクル数を測定したいと思います。理想的には、無制限のプリロードキャッシュ、レイテンシなし、無制限の帯域幅I / O、およびシステム上で実行されている他のエントリがないアプリケーションを実行する完全なシステムのサイクル数です。

私は実行しているものを制限してこれをしたくありません。ページの損失、中断などの計算を減らしたいです。

コードを計測できません。プロセスを実行し、それに理想的な時間を取得したいと思います。目標は、ロードされたサーバー上のO(.)理論的複雑性に近づきながら、繰り返し性の高いアルゴリズムタイミング結果を得ることです。

カーネルやコアライブラリをインスツルメンテーションまたは特殊化する場合は問題ありません。アプリではありません。どんなアイデアがありますか?

答え1

最新のCPUには、さまざまな項目を測定するパフォーマンスカウンタレジスタがあります(「サイクル」よりも複雑ですが)。

perfこれらのカウンタを使用して測定を実行するツールです。ここもっと学ぶ。

関連情報