it-swarm-ja.com

カーネルのベンチマーク方法(-Osと-O2)

64ビットカーネルでは、サイズを最適化するためにコンパイルすると、全体的に役立つ可能性があることは私には論理的に思えます。 (私の選択したディストリビューションは-O2を使用します)これには、通常の最適化されたコードよりも多くのレジスターとメモリーがあり、おそらくキャッシュの競合が少ないという利点があります。私はこのようにコンパイルされたカーネルを持っています、そしてそれは素晴らしいようです。しかし、私の質問は、どうすればこれを証明できますか?私は「現実世界」の種類のベンチマークにPhoronixを使用するのが好きなので、そのようなケースをテストしたいと思います。テストするには何を選ぶべきですか?他に誰か他に選択肢はありますか?事前にどうもありがとうございました。

7
NightwishFan

-Osでコンパイルされたカーネルが「優れているように見える」場合は、ベンチマークを気にする必要はないと思います。理由は次のとおりです。

ベンチマークの問題は、常にテストする負荷の種類を選択することです。
Phoronix Test Suite が異なるカーネルリビジョン間の違いを強調するのに問題がない場合でも、カーネルが自分の負荷に対してより良いパフォーマンスを発揮することを証明するために自分で使用することはできません。日常的に同じ操作。

それでもこれを試したい場合:
おそらく、ほとんどの時間使用しているアプリケーションや、完了するのに長い時間がかかるアプリケーション(3Dレンダリング/コンパイル/ OLAPスタイルのクエリ、別名キューブ/レインボーテーブルの生成...)のベンチマークを試すことができます。あなたが利益を見つけることができるかどうかを確認してください。

個人的には、最新のデスクトップCPUで-Oを使用した実際の(測定可能で再現可能な)スピードアップが見られるかどうかは非常に疑わしいです(ただし、組み込みCPUはある程度のパフォーマンスを得ることができます)。 -O2( ソース記事 )を使用したもう少し積極的な最適化は、-Osカーネルの最小サイズよりも興味深い場合があります。

this chart

Gccの最適化についてもっと詳しく話したい情報や情報が必要な場合は、freenode IRCまたは gentooフォーラム の#gentooチャネルにアクセスできますが、次の点に注意してください。 「ライサー」という用語は言及しないでください^^

4
Shadok