提高编译速度的方法——ccache的使用
在使用CMake编译大型工程时。如果每次只是单独对一个文件进行修改还好,CMake可以针对修改单独编译,但往往只要对CMakeLists做一点小修改,整个工程就要重新编译,对于普通性能的电脑来说通常非常耗时。
ccache是一个编译器缓存,可以大幅度的提高工程重新编译的速度。网上的教程比较繁琐,亲测使用以下方法安装简单快捷:
cd ~
git clone https://github.com/ccache/ccache.git
cd ccache
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install
我们使用
which ccache
返回位置通常为
/usr/local/bin/ccache
再次查看系统原本的编译器位置
which g++
一般情况下,系统原本的编译器位于
/usr/bin/
我们创建以下软连接,让系统选择编译器时优先使用ccache
cd /usr/local/bin
ln -s ccache /usr/local/bin/gcc
ln -s ccache /usr/local/bin/g++
ln -s ccache /usr/local/bin/cc
ln -s ccache /usr/local/bin/c++
使用
ccache -M 10G
可以设置缓存空间大小
使用
ccache -s
可以查看ccache的使用情况
找一个工程进行测试,发现对于重新编译的情况,编译速度均有大幅度提升。
提高编译速度的方法——ccache的使用相关推荐
- C++加快编译速度的方法
C++的主要优点是高性能, 但是说起编译速度,却只有低调的份了.如果不加以重视,编译速度极有可能会成为开发过程中的一个瓶颈.那么,为什么C++它就编译的这么慢呢? 我想最重要的一个原因应该是C++基本 ...
- make太慢了,加快编译速度的方法 make -j
make太慢了,加快编译速度的方法 make -j 2018-01-18 09:04:05 gonghuihuihui 阅读数 21957 收藏 更多 分类专栏: linux 版权声明:本文为博主原 ...
- HighTec编译器提高编译速度
当我们工程特别大时(尤其是基于AUTOSAR开发的工程,包含了BSW协议栈及MCAL,ASW的代码其c文件数量级可达上千)全编译一个工程需要很长时间. HighTec是增量式编译,每次只重新编译修改的 ...
- lambda 查询大量数据速度很慢_处理百万级以上的数据提高查询速度的方法
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考 ...
- VS2013 加快编译速度 的方法整理
VS2013 加快编译速度 的方法整理 1.更改项目设置 项目|属性|C/C++|代码生成|启用最小重新生成:Yes(/Gm) 项目|属性|C/C++|常规|调试信息格式:程序数据库(/Zi) 项目| ...
- lambda 查询大量数据速度很慢_处理百万级以上的数据提高查询速度的方法:
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考 ...
- iOS - Xcode提高编译速度,增量编译,ccache
前言 贝聊目前开发的两款App分别是贝聊家长版和贝聊老师版,最近因为在快速迭代开发新功能,项目规模急速增长,单个端业务代码约23万行,私有库约6万行,第三方库代码约15万行,单个客户端的代码行数约60 ...
- Ninja提升编译速度的方法-Android10.0编译系统(十)
摘要:如何通过Ninja来提升Android编译速度 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢 ...
- 使用预编译头提高编译速度
什么是预编译头 在介绍预编译头之前,有必要了解一下C/C++的编译方式.C/C++的编译单元是源文件(带有.c..cc..cpp等扩展名的文件),在编译一个源文件之前,预处理器会把这个源文件中所有通过 ...
最新文章
- mysql中没有内置函数_[mysql]MySQL中的内置函数
- ITSM为人服务,还是人为ITSM服务?
- 手把手教你写一个Java的orm框架(4)
- poj 1061 (扩展欧几里德算法)
- C# 通过pid获取hwnd / 通过pid查找hwnd
- 服务器硬件和算力,硬件科普Filecoin运维交付之业务部署
- ADB 基础命令使用
- 创业者眼中的小程序:某个岗位工资会翻番
- 小凡Linux国产网游《时空浩劫》安装+体验
- 多玩家游戏设计注意思的地方(转)
- redis的5种数据结构和基本操作
- XDebug的配置和使用(审计方法)
- 使用手机访问电脑上写的网页
- python生成热度图_python根据输入的数据在地图上生成热力图效果
- C#中数据库备份还原
- SuperMap iDesktopX _ 高德POI数据下载
- python进行谱曲_人工智能可以作曲吗?
- set_global_opts在PyEcharts中实现全局配置项
- signature=c751019741e6bb1ccbac4e13ac0b26c4,James Boswell
- 【python爬虫学习】cookie模拟登陆