資料介紹
?。?a href='http://www.brongaenegriffin.com/tags/ios/' target='_blank' class='arckwlink_none'>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次閱讀
下載排行
本周
- 148V到5KW無(wú)橋LLC雙向逆變器的電路原理圖免費(fèi)下載
- 0.26 MB | 154次下載 | 10 積分
- 22KW逆變側(cè)功率管的損耗如何進(jìn)行計(jì)算詳細(xì)公式免費(fèi)下載
- 0.40 MB | 32次下載 | 2 積分
- 3高功率密度碳化硅MOSFET軟開(kāi)關(guān)三相逆變器損耗分析
- 2.27 MB | 30次下載 | 5 積分
- 4S7-200 可編程序控制器系統(tǒng)手冊(cè)
- 12.81 MB | 4次下載 | 免費(fèi)
- 5ATX電源 FSP_ATX-300PAF電路圖資料
- 0.18 MB | 1次下載 | 2 積分
- 6IP6541_L 150uA 低功耗,集成多種快充輸出協(xié)議中文資料
- 1.43 MB | 次下載 | 免費(fèi)
- 7PC5010 單通道20V_10A低邊高速驅(qū)動(dòng)器技術(shù)手冊(cè)
- 1.17 MB | 次下載 | 免費(fèi)
- 8GSV2201D 帶嵌入式MCU的DisplayPort 1.4到HDMI 2.0轉(zhuǎn)換器規(guī)格書(shū)
- 0.67 MB | 次下載 | 2 積分
本月
- 148V到5KW無(wú)橋LLC雙向逆變器的電路原理圖免費(fèi)下載
- 0.26 MB | 154次下載 | 10 積分
- 22KW逆變側(cè)功率管的損耗如何進(jìn)行計(jì)算詳細(xì)公式免費(fèi)下載
- 0.40 MB | 32次下載 | 2 積分
- 3高功率密度碳化硅MOSFET軟開(kāi)關(guān)三相逆變器損耗分析
- 2.27 MB | 30次下載 | 5 積分
- 4STM32F10x參考手冊(cè)資料
- 13.64 MB | 12次下載 | 1 積分
- 5OAH0428 V1.0英文規(guī)格書(shū)
- 5.86 MB | 8次下載 | 免費(fèi)
- 6光伏并網(wǎng)逆變器原理
- 7.31 MB | 6次下載 | 2 積分
- 7NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊(cè)
- 0.40 MB | 4次下載 | 2 積分
- 8S7-200 可編程序控制器系統(tǒng)手冊(cè)
- 12.81 MB | 4次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935132次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191422次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81600次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評(píng)論