Visual Studioの「コードの最適化」オプションは実際に何をするのですか?
2023-07-29 16:02:01
質問
オプションの名前は何かを物語っていますが、Visual Studio/compiler は実際に何を行い、どのような結果をもたらすのでしょうか。
編集:Googleで検索すると このアドレス というのがありますが、これは私が探しているものではありません。私は、実際に起こっていることを疑問に思っています。例えば、なぜループの時間が短くなるのか、などです。
どのように解決するのですか?
最適化なしでは、コンパイラーは非常に間抜けなコードを生成します。各コマンドは、意図されたことを実行するように、非常に単純な方法でコンパイルされます。Debug ビルドはデフォルトで最適化が無効になっていますが、これは最適化なしでは生成される実行可能ファイルがソース コードと素直に一致するためです。
レジスタに保持される変数
最適化を有効にすると、コンパイラーは多くの異なる技術を適用して、同じことを行いながらコードをより速く実行できるようにします。Visual C++ の最適化されたビルドと最適化されていないビルドの最も明白な違いは、最適化されたビルドでは変数の値ができるだけ長くレジスタに保持されるのに対して、最適化されていない場合は常にメモリに格納されるという事実です。これは、コード速度だけでなく、デバッグにも影響します。この最適化の結果、デバッガーはコードをステップ実行しているときに確実に変数値を取得することができません。
その他の最適化
コンパイラによって適用されるその他の最適化については /O オプション (コードの最適化) MSDN ドキュメント . さまざまな最適化手法の一般的な説明については ウィキペディアのコンパイラの最適化に関する記事 .
関連
-
[解決済み] システムトレイにあるvshub.exeとは何ですか?
-
[解決済み] プロジェクトの種類は、このインストールではサポートされていません
-
[解決済み] Xamarin Build Hostが見つからない
-
[解決済み] Visual Studioのデバッグ/ロードが非常に遅い
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] Windows 8でVisual Studioを常にAdministratorとして実行するように強制することはできますか?
-
[解決済み] Visual Studio CodeとVisual Studioの違いは何ですか?
-
[解決済み] Visual Studioのコンパイルエラー "mismatch between processor architecture "を修正するにはどうしたらいいですか?
-
[解決済み】Visual Studioでコードを自動フォーマットする方法とは?
-
[解決済み】"project" nuget configuration is invalid エラーの取得 [重複]。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Visual Studio。プロジェクトに既存のフォルダを追加する
-
[解決済み] Visual Studioでのソリューションファイルの最適な保存場所を教えてください。
-
[解決済み] Visual Studioでデバッグすると、"file is used by another process "というエラーが発生するのですが?
-
[解決済み] objフォルダとbinフォルダ(Visual Studioで作成)は何に使うのですか?
-
[解決済み] Visual Studioで "stdafx.h "は何に使うのですか?
-
[解決済み】NuGetパッケージが見つからない
-
[解決済み】Visual Studio 2010 - 推奨拡張機能【終了しました
-
[解決済み】Visual Studio 2012、2013、2015、VS Codeで正規表現による検索と置換でキャプチャグループを参照する方法
-
[解決済み】Visual Studio 2010以降でZoomをリセットする方法
-
[解決済み】Visual Studio Server ExplorerでLocalDBに接続する方法は?