make -j
既然io不是瓶頸,那cpu就應該是乙個影響編譯速度的重要因素了。
用make -j帶乙個引數,可以把專案在進行並行編譯,比如在一台雙核的機器上,完全可以用make -j4,讓make最多允許4個編譯命令同時執行,這樣可以更有效的利用cpu資源。
還是用kernel來測試:
用make: 40分16秒
用make -j4:23分16秒
用make -j8:22分59秒
由此看來,在多核cpu上,適當的進行並行編譯還是可以明顯提高編譯速度的。但並行的任務不宜太多,一般是以cpu的核心數目的兩倍為宜。
不過這個方案不是完全沒有cost的,如果專案的makefile不規範,沒有正確的設定好依賴關係,並行編譯的結果就是編譯不能正常進行。如果依賴關係設定過於保守,則可能本身編譯的可並行度就下降了,也不能取得最佳的效果。
linux編譯命令 make j8
專案越來越大,每次需要重新編譯整個專案都是一件很浪費時間的事情。research了一下,找到以下可以幫助提高速度的方法,總結一下。有人說在windows下用了ramdisk把乙個專案編譯時間從4.5小時減少到了5分鐘,也許這個數字是有點誇張了,不過粗想想,把檔案放到記憶體上做編譯應該是比在磁碟上快多...
gradle編譯加速
我第一次是這樣解決的。哈哈哈,就這一步,是不是感覺太簡單了,勾選上這個offline work 編譯確實快了不少,但是和朋友討論了一下,真正的解決問題是第二種方法,接著往下看。1.在目錄下的gradle.properties裡配置 在專案裡配置知識針對這乙個專案有效,也可以在user裡配置,針對所有...
make j 引數簡介
在linux編譯程式的時候,io往往不是瓶頸,那cpu就應該是乙個影響編譯速度的重要因素了。用make j帶乙個引數,可以把專案在進行並行編譯,比如在一台雙核的機器上,完全可以用make j4,讓make最多允許4個編譯命令同時執行,這樣可以更有效的利用cpu資源。還是用kernel來測試 用mak...