電子書籍の厳選無料作品が豊富!

VC++6で メソッドにinlineを付けると、実行速度が速くなるのでしょうか?
最適化Option? or ReleaseでEXEを作ると、自動的にメソッドはinline付と同じようにしてくれるのでしょうか?

VCのプロにお聞きしたいです。

A 回答 (2件)

インライン置換によって、ほぼ間違いなく高速化されるのは、関数の呼出しに関する部分だけです。

大きな関数をインライン置換すると、キャッシュのヒット率が悪くなりますし、ページフォルトも起こしやすくなるので、全体としてはかえって遅くなる可能性もあり得ます。

なお、inline指定子がない関数がインライン置換される可能性はありますが、それはあくまでも同じ翻訳単位の場合に限られます。
(完全に検証したわけではないですが)翻訳単位を超えてインライン置換が発生することはありません。
    • good
    • 0

inline-keywordは


"できることならインライン展開してください"
くらいの意味です。
実際にインライン展開されるか否かはコンパイラの
判断にゆだねられます。

inlineを付けることによって速くなるかは、
実際にやってみればわかります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報