ccache使用

本文介绍了如何通过设置环境变量和调整PATH路径来利用ccache加速Make编译过程。详细解释了ccache的工作原理及其在不同版本Android源码中的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 设置环境变量,从使用环境变量的make工具开始,影响使用使用该环境变量的工具程序,如make

export CC="ccache gcc"

export CXX="ccache g++"


方法2:从gcc等编译器开始,影响较大

PATH中将/usr/lib/ccache/放在/usr/bin/前面(推荐)

原理,比如make编译工具使用gcc是实际上会使用/usr/lib/ccache/gcc,/usr/lib/ccache/gcc实际是一个到/usr/bin/ccache的软连接,

这样就实现了ccache的调用

测试方法二是否成功的方法,gcc不编译文件,直接输入gcc,

然后查看ccache -s中no input file的次数是不是增加


2. make编译工具在编译文件前,会读取环境变量CC,作为自己的编译器,来c文件

如果CC为空,默认使用gcc

如果不为空,那么使用环境变量中指定的编译器


3. 这样make工具编译每个文件都会使用ccache编译来高速缓存头文件。


这样设置后,g++编译c++文件不会被ccache缓存,需要export CXX="ccache g++"吗?


4. android2.3以后的源码(不知道从哪个版本开始)中,已经自带了ccache

位置:$ANROID_SRC/prebuilt/linux-x86/ccache

所以,即使host系统中没有安装ccache,也可以使用ccache

使用方法:

exportUSE_CCACHE=1



### Primocache 使用指南与配置 Primocache 是一种高性能的内存缓存系统,类似于 Memcached,但通常具有更丰富的功能和更高的性能。以下是关于 Primocache 的使用方法、配置指南以及示例代码。 #### 1. 安装 Primocache Primocache 的安装过程因操作系统而异。在类 Unix 系统(如 Linux 或 macOS)上,可以通过包管理器或从源代码编译进行安装。以下是一个典型的安装流程: - 在基于 Debian 的系统中,可以使用以下命令安装: ```bash sudo apt-get update sudo apt-get install primocache ``` - 对于 RedHat/CentOS 系统,可能需要通过 Yum 或 RPM 包进行安装: ```bash sudo yum install primocache ``` 如果官方仓库中没有 Primocache 包,则需要从其官方网站或 GitHub 仓库下载源代码并手动编译[^2]。 #### 2. 配置 Primocache Primocache 的配置文件通常位于 `/etc/primocache.conf` 或类似路径下。以下是一个基本的配置示例: ```ini # 缓存的最大内存大小 max_memory_size = 512M # 监听的 IP 地址和端口 listen_address = 0.0.0.0:11211 # 是否启用日志记录 enable_logging = true # 日志文件路径 log_file_path = /var/log/primocache.log # 超时时间(毫秒) default_timeout = 5000 ``` 上述配置定义了缓存的最大内存限制、监听地址、日志设置以及默认超时时间。根据实际需求,可以调整这些参数以优化性能[^3]。 #### 3. 启动与停止服务 启动和停止 Primocache 服务可以通过以下命令完成: - 启动服务: ```bash sudo systemctl start primocache ``` - 停止服务: ```bash sudo systemctl stop primocache ``` - 检查服务状态: ```bash sudo systemctl status primocache ``` #### 4. 使用 Primocache 的客户端示例 Primocache 提供了多种编程语言的支持,例如 Python、Java 和 C++。以下是一个使用 Python 连接 Primocache 的示例: ```python import pymemcache.client.base as memcache # 创建客户端连接 client = memcache.Client(('127.0.0.1', 11211)) # 设置缓存值 client.set('key', 'value') # 获取缓存值 value = client.get('key') print(f"Retrieved value: {value}") # 删除缓存值 client.delete('key') ``` 此代码片段展示了如何通过 `pymemcache` 库与 Primocache 进行交互,包括设置、获取和删除缓存条目[^4]。 #### 5. 性能调优 为了进一步提升 Primocache 的性能,可以考虑以下几点: - **调整最大内存限制**:根据服务器的可用内存,适当增加或减少 `max_memory_size` 的值。 - **启用压缩**:对于较大的数据对象,启用压缩功能可以减少内存占用。 - **优化网络配置**:确保网络带宽充足,并减少延迟。 #### 注意事项 在生产环境中部署 Primocache 时,建议对配置文件进行备份,并定期检查日志文件以监控系统运行状态。此外,应确保防火墙规则允许 Primocache 的监听端口(默认为 11211)对外部访问开放[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值