由於幾年前我開始在Windows 7以及Linux Ubuntu中使用Qt,並且在MinGW被用於Windows的情況下,它總能快速編譯。但在過去的幾年裏,也許要感謝Qt和MinGW版本的更新,我開始考慮Windows內部編譯速度的減慢。我做了一些研究,試圖找出爲什麼MinGW開始變得比Linux慢(這不是以前!),而且所有人都告訴我MinGW在Windows中速度較慢,如果可能的話,它會更好使用Linux。MinGW編譯過分緩慢
因爲我想繼續我的項目,所以我遵循了這個建議,並且因爲我使用的Linux相對沒有問題。現在的情況是,我必須回到Windows(現在已更新到Windows 10),以便對該操作系統進行可視化更正,並且我需要再次與MinGW一起工作,不得不面臨與以前相同的問題。
但由於某種原因,MinGW的速度似乎變得更糟!雖然在我至少能夠在大約4分鐘內編譯應用程序之前,現在我最後一次嘗試的時間是38分鐘,然後我放棄併入睡 - 這是一個只需要1:03分鐘的項目在Linux下編譯[在相同的編譯配置下]!
嗯,我還知道關於MinGW的的slowliness,但網絡上對這個問題的一個快速的研究表明,這只是太慢:所有回測一個可以在其他線程發現這裏在做揭示最好的2x-3倍的時間來編譯一個項目,而不是38x +!
所以我想知道我的Windows可能會出現什麼樣的問題,以避免這種緩慢發生的情況。我知道我最終安裝了至少4個不同版本的MinGW;這可能會帶來問題嗎?
有趣的是,當編譯時使用-j
選項並觀察Qt Creator中的Compile Output日誌以及Process Explorer時,有時編譯器簡單暫停10秒或更長時間,並且CPU使用率從其〜 100%接近5%,直到它突然繼續編譯過程。我相信這種不斷的停頓是上述平均時間的一部分,但我不知道MinGW爲什麼顯示這種行爲。
任何幫助表示讚賞。
禁用防病毒軟件是一個好主意,因爲在此期間我對其進行了更改,它顯示了對清潔和運行'qmake'的前景。不幸的是,當它來到建築物時,與那些停頓一樣遲鈍,所以不是這樣。 – Momergil
@Momergil我同意使用Process Monitor(如本答案中的建議)。它使您能夠輕鬆監視進程的活動(即編譯器和任何其他相關進程)。請記住只將輸出過濾到那些重要的過程。 –
@很好,你對使用這些應用程序是正確的! :)我使用了ProcMon,並發現一個來自IBM的Raport Management Service軟件不是一種殺毒軟件,但工作方式非常類似,在編譯過程中不斷被調用;一旦完成,我能夠在2分鐘內完成這項工作! \ o/ 現在你的回答實際上並沒有回答這個問題,所以你可以稍微編輯一下,以便更多地關注其他軟件導致速度慢的原因嗎?然後我會接受你的答案!謝謝! – Momergil