資料介紹
[iOS]ccache 讓你的編譯時(shí)間飛起來(lái)2017-05-31 11:36程序設(shè)計(jì)/iOS
原文地址:Using ccache for Fun and Profit
作者 Peter Steinberger
我們的 PSPDFKit 項(xiàng)目超過(guò) 60 萬(wàn)行代碼,并且代碼量還在增長(zhǎng)。盡管我們致力于寫(xiě)簡(jiǎn)潔而高效的代碼,但是這個(gè)項(xiàng)目很大,而且有許多邊界情況需要尤其注意。在 PSPDFKit 5 for iOS項(xiàng)目上,編譯時(shí)間尤其成為一個(gè)令人頭痛的問(wèn)題:每次編譯都很慢。
我們的安卓 SDK 也有同樣的問(wèn)題,幾個(gè)月前我們的安卓負(fù)責(zé)人在技術(shù)棧中引入了 ccache 來(lái)處理冗長(zhǎng)的 C++ NDK 編譯時(shí)間,我也是從那個(gè)時(shí)候開(kāi)始接觸 ccache。
ccache 是個(gè)啥?
ccache是一個(gè)編譯緩存器,它會(huì)在實(shí)際編譯之前先檢查緩存。它有直接和預(yù)處理模式,而且由于在 Clang 3.2 版本之前是不支持 ccache 插件,所以在 Clang 3.2 之前會(huì)有一些問(wèn)題,但是現(xiàn)在 Clang 的版本是 3.2.3,所以沒(méi)有 Clang 不支持的問(wèn)題。ccache 是一個(gè)具有悠久歷史的項(xiàng)目,其主要焦點(diǎn)是快速正確。
網(wǎng)上搜到“ccache xcode”的信息都是過(guò)時(shí)無(wú)效的信息,經(jīng)過(guò)我快速的嘗試網(wǎng)上的方法,都無(wú)法配置好使其正常工作。隨著我們的代碼庫(kù)越來(lái)越復(fù)雜,同時(shí)我們的 Jenkins 工作集群數(shù)也有 10 臺(tái) Mac,現(xiàn)在測(cè)試時(shí)間從幾乎無(wú)法忍受變成了正真無(wú)法忍受。在 Twitter 抱怨現(xiàn)在每天的工作就是管理 Jenkins 工作集群之后,F(xiàn)acebook 的 Christian Legnitto(他之前在 Apple 負(fù)責(zé) OS X 版本管理工作)建議我們嘗試 ccache。
Let’s get started
使用以下命令安裝 ccache :
brew install ccache
如果你沒(méi)安裝 Homebrew,請(qǐng)移步這里,先去安裝 Homebrew,如果你不想移步,就直接使用以下命令安裝 Homebrew:
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
為了讓 Xcode 調(diào)用 ccache,我們需要一個(gè)小腳本來(lái)配置一些環(huán)境變量,然后再調(diào)用 ccache。將這個(gè)腳本保存到您項(xiàng)目的某個(gè)地方,并將其命名為 ccache-clang。
#!/bin/sh
if type -p ccache 》/dev/null 2》&1; then
export CCACHE_MAXSIZE=10G
export CCACHE_CPP2=true
export CCACHE_HARDLINK=true
export
CCACHE_SLOPPINESS=file_macro,time_macros,include_file_mtime,include_file_ctime,file_stat_matches
exec ccache /usr/bin/clang “$@”
else
exec clang “$@”
fi
根據(jù)你的具體情況,如果你的項(xiàng)目中有 C++的文件,你可能還需要一個(gè)命名為 ccache-clang++ 的腳本,并在這個(gè)腳本里這么寫(xiě):
- xcode-configure xcode編譯插件
- CleanHeaders-Xcode Xcode插件
- 提高LabVIEW開(kāi)發(fā)速度25技電子版資源下載 0次下載
- SPWM原理及控制方法 4次下載
- 如何提高隔離式電源的效率
- 單片機(jī)C函數(shù)中的嵌入?yún)R編之形參傳遞詳細(xì)資料說(shuō)明
- 如何提高復(fù)雜環(huán)境下的人臉識(shí)別的增強(qiáng)算法資料概述 8次下載
- 如何使用AVR單片機(jī)來(lái)設(shè)計(jì)智能快速充電器提高充電速度詳細(xì)資料分析 21次下載
- 如何使用ARMC編譯器編寫(xiě)高效的定點(diǎn)算術(shù)編碼或匯編 8次下載
- 《模擬電路故障診斷》 38次下載
- 模擬電路故障診斷 35次下載
- Assmann SuperSpeed USB 6次下載
- 模擬電路故障解決-中文版 0次下載
- 基于64位機(jī)器的32位指針優(yōu)化方法 0次下載
- 提高加熱爐PLC系統(tǒng)穩(wěn)定性的實(shí)現(xiàn)
- 提高MIMO系統(tǒng)隔離度的方法 686次閱讀
- 高速度高貼片機(jī) 619次閱讀
- 如何提高編譯速度 1378次閱讀
- 如何提高MAX4007的工作速度 736次閱讀
- 有效提高編譯速度的方法 4463次閱讀
- 802.11ac新一代Wi-Fi標(biāo)準(zhǔn)大大提高網(wǎng)絡(luò)的應(yīng)用效率 4215次閱讀
- 如何才能提高隔離式電源的效率 1275次閱讀
- 利用?NI?半導(dǎo)體?測(cè)試?系統(tǒng)?(STS)?軟件?的?增強(qiáng)?功能,?加速?測(cè)試?程序?開(kāi)發(fā),?提高?運(yùn)營(yíng)? 1237次閱讀
- 技術(shù) | 如何提高 VMware 虛擬機(jī)下服務(wù)系統(tǒng)運(yùn)行性能? 3675次閱讀
- 講述增量編譯方法,提高Vivado編譯效率 1w次閱讀
- CAD教程之五十多個(gè)實(shí)用CAD制圖操作技巧 1w次閱讀
- Sharp推出CG-Silicon顯示技術(shù),可大大提高LCD器件的性能 3122次閱讀
- Ptx推出四維光學(xué)傳感器,應(yīng)用于汽車(chē)領(lǐng)域,大大提高了機(jī)器的全方位感知 1514次閱讀
- 采用以FPGA為基礎(chǔ)的變頻器慣性輸出技術(shù),能大大提高變頻器的穩(wěn)定可靠性 1998次閱讀
- 研究人員正借助AI的力量以改善對(duì)心臟異常的檢查,并提高診斷的準(zhǔn)確性 4467次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專(zhuān)業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論