回覆列表
  • 1 # 周東東5

    專案越來越大,每次需要重新編譯整個專案都是一件很浪費時間的事情。Research了一下,找到以下可以幫助提高速度的方法,總結一下。

    1. 使用tmpfs來代替部分IO讀寫  

    2.ccache,可以將ccache的快取檔案設定在tmpfs上,但是這樣的話,每次開機後,ccache的快取檔案會丟失  

    3.distcc,多機器編譯  

    4.將螢幕輸出列印到記憶體檔案或者/dev/null中,避免終端裝置(慢速裝置)拖慢速度。  tmpfs   有人說在Windows下用了RAMDisk把一個專案編譯時間從4.5小時減少到了5分鐘,也許這個數字是有點誇張了,不過粗想想,把檔案放到記憶體上做編譯應該是比在磁碟上快多了吧,尤其如果編譯器需要生成很多臨時檔案的話。  這個做法的實現成本最低,在Linux中,直接mount一個tmpfs就可以了。而且對所編譯的工程沒有任何要求,也不用改動編譯環境。  mount -t tmpfs tmpfs ~/build -o size=1G   用2.6.32.2的Linux Kernel來測試一下編譯速度:  用物理磁碟:40分16秒  用tmpfs:39分56秒  呃……沒什麼變化。看來編譯慢很大程度上瓶頸並不在IO上面。但對於一個實際專案來說,編譯過程中可能還會有打包等IO密集的操作,所以只要可能,用tmpfs是有益無...

  • 中秋節和大豐收的關聯?
  • 1000到1500的山地車,有沒有推薦的?