資料介紹
[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次下載
- 《模擬電路故障診斷》 38次下載
- 模擬電路故障診斷 35次下載
- Assmann SuperSpeed USB 6次下載
- 模擬電路故障解決-中文版 0次下載
- 基于64位機(jī)器的32位指針優(yōu)化方法 0次下載
- 提高加熱爐PLC系統(tǒng)穩(wěn)定性的實現(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)體?測試?系統(tǒng)?(STS)?軟件?的?增強(qiáng)?功能,?加速?測試?程序?開發(fā),?提高?運(yùn)營? 1237次閱讀
- 技術(shù) | 如何提高 VMware 虛擬機(jī)下服務(wù)系統(tǒng)運(yùn)行性能? 3675次閱讀
- 講述增量編譯方法,提高Vivado編譯效率 1w次閱讀
- CAD教程之五十多個實用CAD制圖操作技巧 1w次閱讀
- Sharp推出CG-Silicon顯示技術(shù),可大大提高LCD器件的性能 3122次閱讀
- Ptx推出四維光學(xué)傳感器,應(yīng)用于汽車領(lǐng)域,大大提高了機(jī)器的全方位感知 1514次閱讀
- 采用以FPGA為基礎(chǔ)的變頻器慣性輸出技術(shù),能大大提高變頻器的穩(wěn)定可靠性 1998次閱讀
- 研究人員正借助AI的力量以改善對心臟異常的檢查,并提高診斷的準(zhǔn)確性 4467次閱讀
下載排行
本周
- 1IP6823 支持 qi 認(rèn)證的無線充電發(fā)射控制 SOC
- 1.01 MB | 1次下載 | 免費(fèi)
- 2IP6824? 全集成QI?無線充電發(fā)射控制SOC
- 1.22 MB | 1次下載 | 免費(fèi)
- 3帶注入電流控制的1.8V通用SP8T-Z和2個SP4T-Z模擬開關(guān)
- 847.62KB | 次下載 | 免費(fèi)
- 4PESD18VY1BBIF保護(hù)二極管規(guī)格書
- 4.56MB | 次下載 | 免費(fèi)
- 574HC4050緩沖器規(guī)格書
- 217.58KB | 次下載 | 免費(fèi)
- 674HC193;74HC7193二進(jìn)制加減計數(shù)器規(guī)格書
- 327.93KB | 次下載 | 免費(fèi)
- 774HC73-Q100雙JK觸發(fā)器規(guī)格書
- 220.85KB | 次下載 | 免費(fèi)
- 8ASW3410 USB3.1高速數(shù)據(jù)開關(guān)切換規(guī)格書
- 1.39 MB | 次下載 | 免費(fèi)
本月
- 1A7159和A7139射頻芯片的資料免費(fèi)下載
- 0.20 MB | 55次下載 | 5 積分
- 2零死角玩轉(zhuǎn)STM32F103—指南者
- 26.78 MB | 41次下載 | 1 積分
- 3PIC12F629/675 數(shù)據(jù)手冊免費(fèi)下載
- 2.38 MB | 36次下載 | 5 積分
- 4PIC16F716 數(shù)據(jù)手冊免費(fèi)下載
- 2.35 MB | 18次下載 | 5 積分
- 5dsPIC33EDV64MC205電機(jī)控制開發(fā)板用戶指南
- 5.78MB | 8次下載 | 免費(fèi)
- 6STC15系列常用寄存器匯總免費(fèi)下載
- 1.60 MB | 7次下載 | 5 積分
- 7AN-1267: 使用ADSP-CM408F ADC控制器的電機(jī)控制反饋采樣時序
- 1.41MB | 5次下載 | 免費(fèi)
- 8LP9962集成 PFC 和 和的 高壓半橋驅(qū)動的 LLC 諧振
- 3.30 MB | 4次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73813次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論