資料介紹
[iOS]ccache 讓你的編譯時間飛起來2017-05-31 11:36程序設計/iOS
原文地址:Using ccache for Fun and Profit
作者 Peter Steinberger
我們的 PSPDFKit 項目超過 60 萬行代碼,并且代碼量還在增長。盡管我們致力于寫簡潔而高效的代碼,但是這個項目很大,而且有許多邊界情況需要尤其注意。在 PSPDFKit 5 for iOS項目上,編譯時間尤其成為一個令人頭痛的問題:每次編譯都很慢。
我們的安卓 SDK 也有同樣的問題,幾個月前我們的安卓負責人在技術棧中引入了 ccache 來處理冗長的 C++ NDK 編譯時間,我也是從那個時候開始接觸 ccache。
ccache 是個啥?
ccache是一個編譯緩存器,它會在實際編譯之前先檢查緩存。它有直接和預處理模式,而且由于在 Clang 3.2 版本之前是不支持 ccache 插件,所以在 Clang 3.2 之前會有一些問題,但是現在 Clang 的版本是 3.2.3,所以沒有 Clang 不支持的問題。ccache 是一個具有悠久歷史的項目,其主要焦點是快速正確。
網上搜到“ccache xcode”的信息都是過時無效的信息,經過我快速的嘗試網上的方法,都無法配置好使其正常工作。隨著我們的代碼庫越來越復雜,同時我們的 Jenkins 工作集群數也有 10 臺 Mac,現在測試時間從幾乎無法忍受變成了正真無法忍受。在 Twitter 抱怨現在每天的工作就是管理 Jenkins 工作集群之后,Facebook 的 Christian Legnitto(他之前在 Apple 負責 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 調用 ccache,我們需要一個小腳本來配置一些環境變量,然后再調用 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
根據你的具體情況,如果你的項目中有 C++的文件,你可能還需要一個命名為 ccache-clang++ 的腳本,并在這個腳本里這么寫:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- xcode-configure xcode编译插件1次下载
- CleanHeaders-Xcode Xcode插件0次下载
- 提高LabVIEW开发速度25技电子版资源下载0次下载
- SPWM原理及控制方法4次下载
- 如何提高隔离式电源的效率16次下载
- 单片机C函数中的嵌入汇编之形参传递详细资料说明1次下载
- 如何提高复杂环境下的人脸识别的增强算法资料概述8次下载
- 如何使用AVR单片机来设计智能快速充电器提高充电速度详细资料分析21次下载
- 如何使用ARMC编译器编写高效的定点算术编码或汇编8次下载
- 《模拟电路故障诊断》38次下载
- 使用智能外设提高CPU效率7次下载
- Assmann SuperSpeed USB6次下载
- 模拟电路故障解决-中文版0次下载
- 基于64位机器的32位指针优化方法0次下载
- 提高加热炉PLC系统稳定性的实现21次下载
- 提高MIMO系统隔离度的方法1930次阅读
- 高速度高贴片机829次阅读
- 如何提高编译速度1723次阅读
- 如何提高MAX4007的工作速度985次阅读
- 有效提高编译速度的方法4796次阅读
- 802.11ac新一代Wi-Fi标准大大提高网络的应用效率4570次阅读
- 如何才能提高隔离式电源的效率1477次阅读
- 利用NI半导体测试系统(STS)软件的增强功能,加速测试程序开发,提高运营1446次阅读
- 技术 | 如何提高 VMware 虚拟机下服务系统运行性能?4053次阅读
- 讲述增量编译方法,提高Vivado编译效率10754次阅读
- CAD教程之五十多个实用CAD制图操作技巧11278次阅读
- Sharp推出CG-Silicon显示技术,可大大提高LCD器件的性能3431次阅读
- Ptx推出四维光学传感器,应用于汽车领域,大大提高了机器的全方位感知1697次阅读
- 采用以FPGA为基础的变频器惯性输出技术,能大大提高变频器的稳定可靠性2217次阅读
- 研究人员正借助AI的力量以改善对心脏异常的检查,并提高诊断的准确性4947次阅读
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論