C ++をコンパイルするために、WindowsをLinuxと同じ速さで実行するにはどうすればよいですか?
これはプログラミングの問題ではないことを知っていますが、関連があります。 私はかなり大きなクロスプラットフォームプロジェクトに取り組んでいます。WindowsではVC ++ 2008を使用します。Linuxではgccを使用します。プロジェクトには約40kのファイルがあります。Windowsは、同じプロジェクトをコンパイルおよびリンクする際に、Linuxよりも10倍から40倍遅いです。どうすれば修正できますか? Linuxでは20秒、Windowsでは3分を超える単一の変更増分ビルド。どうして?Linuxに「ゴールド」リンカーをインストールして、その時間を7秒まで短縮することもできます。 同様に、gitはWindowsよりもLinuxで10〜40倍高速です。 gitの場合、gitがWindowsを最適な方法で使用していない可能性がありますが、VC ++ですか?Microsoftは自社の開発者をできる限り生産的にしたいと考え、より高速なコンパイルはそのための長い道のりになると思います。たぶん彼らは開発者にC#を勧めようとしているのでしょうか? 簡単なテストとして、多数のサブフォルダーを含むフォルダーを見つけて、簡単なテストを行います dir /s > c:\list.txt Windowsの場合。キャッシュから実行するように、2回実行して2回目の実行の時間を計ります。ファイルをLinuxにコピーし、同等の2回の実行を行い、2回目の実行の時間を計ります。 ls -R > /tmp/list.txt まったく同じ仕様のワークステーションが2台あります。12gigのRAM、8コア、3.0GHzのHP Z600。〜400kファイルを含むフォルダーでは、Windowsは40秒かかり、Linuxは1秒未満かかります。 Windowsを高速化するために設定できるレジストリ設定はありますか?何ができますか? コンパイル時間に関連するいくつかのわずかに関連するリンク。必ずしもI / Oとは限りません。 どうやらWindows 10(Windows 7ではない)には、プロセスを閉じるとグローバルロックが保持されるという問題があるようです。複数のコア、したがって複数のプロセスでコンパイルすると、この問題が発生します。 この/analyseオプションはWebブラウザーをロードするため、パフォーマンスに悪影響を与える可能性があります。(ここでは関係ありませんが、知っておくと便利です)