Visual Studio Precompiled Headers setting issues

Precompiled Headers

最近發現專案使用的 Precompiled Headers 設定錯誤,增加了 94% 的建置時間。

以下是錯誤的專案設定

在專案中的 Precompiled Headers 設定選項雖然有三個,分別是

  • Create(/Yc)
  • Use(/Yu)
  • Not Using Precompiled Headers

但其實真正能選的只有兩種,就是 Create(/Yc) 不能選,因為這是給檔案設定的。 如果這個專案要啟用 Precompiled Headers 就選 Use(/Yu), 不啟用就選 Not Using Precompiled Headers。

因為這個專案要啟用,所以改為 Use(/Yu)

就是這個小小的設定,原本要編譯 100 秒的專案,只需要 5.8 秒,足足降低了 94% 的建置時間。

Multi-processor Compilation

因為目前的電腦都有多核的設計,再啟用多核心編譯功能,設定 Multi-processor Compilation 為 Yes (/MP)

啟用後建置時間只需要 3.5 秒,再節省 60% 的建置時間。

結論

正確設定 Precompiled Headers 加上 Multi-processor Compilation,從原本的 100 秒 縮短為 3.5 秒,等於加速了 28 倍,可以大幅減少等待時間。

留言