- ベストアンサー
inlineは最適化で付けて無くても同じようにしてくれる?
VC++6で メソッドにinlineを付けると、実行速度が速くなるのでしょうか? 最適化Option? or ReleaseでEXEを作ると、自動的にメソッドはinline付と同じようにしてくれるのでしょうか? VCのプロにお聞きしたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
インライン置換によって、ほぼ間違いなく高速化されるのは、関数の呼出しに関する部分だけです。大きな関数をインライン置換すると、キャッシュのヒット率が悪くなりますし、ページフォルトも起こしやすくなるので、全体としてはかえって遅くなる可能性もあり得ます。 なお、inline指定子がない関数がインライン置換される可能性はありますが、それはあくまでも同じ翻訳単位の場合に限られます。 (完全に検証したわけではないですが)翻訳単位を超えてインライン置換が発生することはありません。
その他の回答 (1)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.1
inline-keywordは "できることならインライン展開してください" くらいの意味です。 実際にインライン展開されるか否かはコンパイラの 判断にゆだねられます。 inlineを付けることによって速くなるかは、 実際にやってみればわかります。