資料介紹
?。?a href='http://m.sdkjxy.cn/tags/ios/' target='_blank' class='arckwlink_none'>iOS]ccache 讓你的編譯時(shí)間飛起來2017-05-31 11:36程序設(shè)計(jì)/iOS
原文地址:Using ccache for Fun and Profit
作者 Peter Steinberger
我們的 PSPDFKit 項(xiàng)目超過 60 萬行代碼,并且代碼量還在增長。盡管我們致力于寫簡潔而高效的代碼,但是這個(gè)項(xiàng)目很大,而且有許多邊界情況需要尤其注意。在 PSPDFKit 5 for iOS項(xiàng)目上,編譯時(shí)間尤其成為一個(gè)令人頭痛的問題:每次編譯都很慢。
我們的安卓 SDK 也有同樣的問題,幾個(gè)月前我們的安卓負(fù)責(zé)人在技術(shù)棧中引入了 ccache 來處理冗長的 C++ NDK 編譯時(shí)間,我也是從那個(gè)時(shí)候開始接觸 ccache。
ccache 是個(gè)啥?
ccache是一個(gè)編譯緩存器,它會(huì)在實(shí)際編譯之前先檢查緩存。它有直接和預(yù)處理模式,而且由于在 Clang 3.2 版本之前是不支持 ccache 插件,所以在 Clang 3.2 之前會(huì)有一些問題,但是現(xiàn)在 Clang 的版本是 3.2.3,所以沒有 Clang 不支持的問題。ccache 是一個(gè)具有悠久歷史的項(xiàng)目,其主要焦點(diǎn)是快速正確。
網(wǎng)上搜到“ccache xcode”的信息都是過時(shí)無效的信息,經(jīng)過我快速的嘗試網(wǎng)上的方法,都無法配置好使其正常工作。隨著我們的代碼庫越來越復(fù)雜,同時(shí)我們的 Jenkins 工作集群數(shù)也有 10 臺(tái) Mac,現(xiàn)在測(cè)試時(shí)間從幾乎無法忍受變成了正真無法忍受。在 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,請(qǐng)移步這里,先去安裝 Homebrew,如果你不想移步,就直接使用以下命令安裝 Homebrew:
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
為了讓 Xcode 調(diào)用 ccache,我們需要一個(gè)小腳本來配置一些環(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è)腳本里這么寫:
掃碼添加小助手
加入工程師交流群
- xcode-configure xcode編譯插件
- CleanHeaders-Xcode Xcode插件
- 提高LabVIEW開發(fā)速度25技電子版資源下載 0次下載
- SPWM原理及控制方法 4次下載
- 如何提高隔離式電源的效率
- 單片機(jī)C函數(shù)中的嵌入?yún)R編之形參傳遞詳細(xì)資料說明
- 如何提高復(fù)雜環(huán)境下的人臉識(shí)別的增強(qiáng)算法資料概述 8次下載
- 如何使用AVR單片機(jī)來設(shè)計(jì)智能快速充電器提高充電速度詳細(xì)資料分析 21次下載
- 如何使用ARMC編譯器編寫高效的定點(diǎn)算術(shù)編碼或匯編 8次下載
- 《模擬電路故障診斷》 38次下載
- 模擬電路故障診斷 36次下載
- Assmann SuperSpeed USB 6次下載
- 模擬電路故障解決-中文版 0次下載
- 基于64位機(jī)器的32位指針優(yōu)化方法 0次下載
- 提高加熱爐PLC系統(tǒng)穩(wěn)定性的實(shí)現(xiàn)
- 提高MIMO系統(tǒng)隔離度的方法 2.7k次閱讀
- 高速度高貼片機(jī) 1k次閱讀
- 如何提高編譯速度 2.1k次閱讀
- 如何提高MAX4007的工作速度 1.2k次閱讀
- 有效提高編譯速度的方法 5.1k次閱讀
- 802.11ac新一代Wi-Fi標(biāo)準(zhǔn)大大提高網(wǎng)絡(luò)的應(yīng)用效率 4.9k次閱讀
- 如何才能提高隔離式電源的效率 1.7k次閱讀
- 利用?NI?半導(dǎo)體?測(cè)試?系統(tǒng)?(STS)?軟件?的?增強(qiáng)?功能,?加速?測(cè)試?程序?開發(fā),?提高?運(yùn)營? 1.6k次閱讀
- 技術(shù) | 如何提高 VMware 虛擬機(jī)下服務(wù)系統(tǒng)運(yùn)行性能? 4.5k次閱讀
- 講述增量編譯方法,提高Vivado編譯效率 1.1w次閱讀
- CAD教程之五十多個(gè)實(shí)用CAD制圖操作技巧 1.2w次閱讀
- Sharp推出CG-Silicon顯示技術(shù),可大大提高LCD器件的性能 3.7k次閱讀
- Ptx推出四維光學(xué)傳感器,應(yīng)用于汽車領(lǐng)域,大大提高了機(jī)器的全方位感知 1.8k次閱讀
- 采用以FPGA為基礎(chǔ)的變頻器慣性輸出技術(shù),能大大提高變頻器的穩(wěn)定可靠性 2.5k次閱讀
- 研究人員正借助AI的力量以改善對(duì)心臟異常的檢查,并提高診斷的準(zhǔn)確性 5.3k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊(cè)
- 3.00 MB | 次下載 | 免費(fèi)
- 2MDD品牌三極管BC817數(shù)據(jù)手冊(cè)
- 2.51 MB | 次下載 | 免費(fèi)
- 3MDD品牌三極管D882數(shù)據(jù)手冊(cè)
- 3.49 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊(cè)
- 3.26 MB | 次下載 | 免費(fèi)
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊(cè)
- 3.09 MB | 次下載 | 免費(fèi)
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊(cè)
- 2.32 MB | 次下載 | 免費(fèi)
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動(dòng)汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論