在 android.com 的網站上有段說明在編譯 Android 可以使用 CCACHE 來加快編譯的速度,很好奇究竟可以影響多少,於是我便按說明試了試。
首先,依 "Downloading the Source Tree" 及 "Getting Android-x86 source code" 的說明下載了 Ice Cream Sandwich (Android 4.0) 的 X86 版本程式碼。
接著先試著在使用 CCACHE 時編譯。執行下面這個指令進行第一次編譯:
time make iso_img -j2 2>&1 | tee logs/`date +%y%m%d-%H%M%S`
耐心等待它編譯完成後,看了看 time 指令的回應,約使用了 305 分鐘。嗯…看來那台機器只能拿來玩玩了,真要改東改西的話,大概會很悶吧!
real 304m11.544s user 561m15.453s sys 28m19.942s
OK,接著執行 m clobber
將所有編譯的產物全部清除,然後再執行同一個指令編譯一次。這回所花的時間明顯減少了許多:
real 103m54.481s user 168m58.174s sys 16m45.295s
果然,CCACHE 是可以大量減少編譯時間的。這篇只是簡單看看 CCACHE 的效果,所以前後兩次編譯並沒有修改任何一行程式碼,至於如果有修改了程式碼,這篇文章的效果僅供參考唷!哈!
延伸閱讀: