Complie是CPU Bound, 換硬碟做什麼....
為什麼我知道是CPU Bound, 因為我以前公司買過一套軟體是
裝在很多台電腦上, 當其中有人要complie的時候, 其它有裝這套軟體
的電腦也會分一部份CPU來幫忙complie, 然後把結果由網路傳回去.
可以觀察在complie的時候, CPU有沒有跑滿檔. 如果CPU使用率幾乎
是8,90%就代表卡在CPU效能. 如果常常CPU使用率都掉到很低,
那就代表系統常常在等磁碟讀寫檔.
你的CPU有沒有VT或是AMD-V的功能? 如果沒有當然會慢~
如果有VT或是AMD-V的功能, 也可以把VM的CPU調成一個以上,
然後下參數讓多個核心能在VM裏使用. 然後在complie的時候下參數
(用gcc的話) -jN N代表使用幾個執行緒來跑, 一次可以同時complie
好幾個檔, 當然速度會快.
不是說換SSD沒有用, 是效能瓶頸是不是卡在這個地方!! 要換SSD,
如果是MLC的也請換有cache的MLC SSD. 因為complie的磁碟I/O
都是很少量的讀寫很多檔案在跑. 用MLC的SSD但沒有cache, 寫入小檔
(.o檔)的時候會頓得很嚴重哦~
與失敗為伍者,天天靠盃都是別人的錯。
與成功為伍者,天天跟失敗切磋直到不再出錯。