いま、通常の設定のコンパイラの最適化設?
-
09-06-2019 - |
質問
いまま通常の設定のコンパイラの最適化のための最高速度または最小のコードの大きさはどれくらいですか?い手動での設定の個別最適化設?なぜですか?
いのちをお持ちいただくだけコンパイラの最適化の設定をデフォルトの状態では、visual c++と最高速になります。私はいつも感じるデフォルトの設定をしたい公募制度を利用しているベンチマークする傾向にある小さなプログラムのなかにおさまるすべてのL2キャッシュのようにベスト全体の性能を、通常の設定での最適化のための最小サイズです。
解決
としてのジェンツーペンギンのユーザーしかなりの数の最適化のOSでありな議論を ジェンツーペンギンのフォーラム ます。いくつかの良いフラグのためにGCCを wiki.
に最適化のためのサイズた豊富な経験とノウ古Pentium3ノート型パソコンに限定ramが、私のデスクトップ機Core2Duo,-O2たより良い結果をえた。
ものもありま 小さなスクリプト ご興味のある方にはx86(32ビット)特定のフラグにより最適化されています。
ご利用の場合はgccとした最適な特定のアプリケーションしてみ ACOVEA.でのベンチマークを再コンパイルとしての全ての可能な組み合わせのコンパイルフラグがあります。あの、どハフマン符号化のサイト(下り):
A relative graph of fitnesses:
Acovea Best-of-the-Best: ************************************** (2.55366)
Acovea Common Options: ******************************************* (2.86788)
-O1: ********************************************** (3.0752)
-O2: *********************************************** (3.12343)
-O3: *********************************************** (3.1277)
-O3 -ffast-math: ************************************************** (3.31539)
-Os: ************************************************* (3.30573)
(りますのでご注意見-Osする最も遅いこのOpteronシステム)
他のヒント
Iりませんので、予めご最小サイズです。メモリの安 キャッシュしない.
他にもキャッシュの地域性に関する事項に関する、フロイント産業と、その他のものMicrosoftいでにプロファイルを用意しているコードパスを実行中の最初の数秒で起動します。その後、送りこのデータをコンパイラ、お願いでに部品を実行時に起動するサービスも充実している。この結果より速く起動します。
と思っているこの技術が公衆に対すが、私は100%でした。
私にとってもよかplatformいます。一部組み込みプラットフォームや働いていたときの細胞プロセッサでの制約など非常に小さなキャッシュ又は最小限の空間を提供します。
使っていGCCがでon"O2"の"安全"レベルの最適化および好きのスピードの最小サイズです。
いと思うんでしょうるさくならないので大きな違いがなければ開発のための非常に高性能の申請の場合はうするとベンチマーキングの様々なオプションのための特定の使用例です。
Microsoft船はすべてC/C++ソフトウェアに最適なサイズです。後のベンチマーキングを発見したことを実感で良いの速度によるキャッシュ地).
多くの種類の最適化、最大速度と小さなコードがただひとつ。この場合、選択最大速度として実行するだけでビットを大きくする。一方、最適化の応用のための特定の型のプロセッサー場合これは良いアイデア(目的とする場合はプログラムを実行するだけでお駅)ですが、この場合で推移する可能性があり、プログラムが動作しないその他の建築(例:でコンパイルのプログラムを作Pentium4つの機械では考えにくい仕Pentium3).
を共に構築、プロファイルを選択するより具体的なプロジェクトやハードウェア
のための、パフォーマンスが重視されるコード-その他任意に選択ない。
私たちは常に使用最大化のための最適な速度が、すべてのコードを書いていC++言語による何らかの関連を解アルゴリズムおよびスピードは重要なコードサイズは比較的軽微であります。
メモリが安く、今日でできる有意義なセット、コンパイラの設定を最大速度のない仕組み込みシステム。もちろんの回答によりコンクリート状況です。
これは、アプリケーションに依存のプログラム。グへの応用管理の速い産業プロセスの最適化のために速います。グアプリケーションに対する必要が反応し、ユーザの入力に最適のサイズがうです。この場合には、当該約サイズなので、小さな実行形式にまとめたものです。
調整コンパイラの設定のようである最適化。は、原則として"早期の最適化の根源悪いのかわいいまでのプログラムは、近くの最終出荷状態でいることを発見しい十分速く、余裕があります。(ほとんどないですね。