私は、リアルタイム システムで使用される非常に複雑な C++ コードをいくつか持っているため、絶対に速度に敏感です。これは Linux で開発され、高速化するために多くの関数が「インライン」キーワードでマークされ、インライン化を可能にするためにヘッダー ファイルに移動されました。
このコードを Windows (msvc 10.0、Windows 7) に移植したところ、実行速度が約 30% 遅くなりました。いくつかのプロファイリングを行った後、問題は基本的に多くの関数がインライン化されていないことにあることがわかりました。代わりに「__forceinline」を使用すると、約 10 ~ 20% の速度向上が簡単にわかります。
誰かがこれについて説明していますか?msvc のアルゴリズムがはるかに保守的に機能するだけですか? それとも、構成オプションが欠落しているなど、何か間違ったことをしただけですか?