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