问题标签 [ccache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1713 浏览

ccache - 检查 ccache 调用是否是缓存命中

作为构建过程的一部分,我想获取有关构建时间以及 ccache 是否在缓存中找到该项目的统计信息。我知道在ccache -s哪里可以比较以前和当前的缓存命中计数。

但是,如果我有数百个编译线程并行运行,则统计数据不会告诉我是哪个文件导致了命中。

的返回码ccache是编译器的返回码。有什么办法可以让 ccache 告诉我它是否成功?

0 投票
0 回答
244 浏览

ccache - ccache - 所有文件都是“无输入文件”

我正在使用我这样编译的 ccache 版本 3.7.4: ccache compiler [compiler options]但它似乎不起作用

唯一增加的字段是每个编译文件的“无输入文件”,来自 ccache 帮助页面,这意味着没有为编译器指定输入文件,这对我来说并不清楚。

ccache.conf 看起来像这样:

我错过了什么?

编辑:发现我可以通过设置 CCACHE_LOGFILE 看到更多的调试。现在我看到每个文件的调试行:

运行:stat File.cpp 文件:`File.cpp' 大小:14924 块:32 IO 块:1048576常规文件

0 投票
1 回答
118 浏览

embedded - 对非 gcc 工具的 CCACHE 和 DISTCC 支持?

我们正在寻找方法来加快我们的项目的编译速度,该项目使用 Keil、Xtensa 和可能的另一个非 gcc 编译器工具,用于芯片中的第 3 种内核。

我一直在搜索“keil ccache”或“交叉编译 ccache”,但一切(大部分)都归结为 gcc 和一些非常古老的项目,这些项目涉及在 ccache 的一个分支中支持其他工具链。

有谁知道这是一个愚蠢的差事,还是它无处不在以至于没有理由问这个问题?我的 google-fu 让我失望了,所以我只是没有找到关于我需要做些什么才能使其与非 gcc 工具一起工作的信息。

FWIW,GCC 是不可能的,因为它不支持我们的自定义 Xtensa 或 DSP 处理器。

如果不清楚我在问什么:CCACHE 和/或 DISTCC 是否支持非 gcc 工具集。如果是这样,我需要做些什么特别的事情还是应该“正常工作”?

0 投票
1 回答
4610 浏览

android-source - 如何使用ccache来加速aosp的编译?

我在这里找到了 ccache aosp repo https://android.googlesource.com/toolchain/ccache/,但我不知道如何在 aosp v10 上使用 ccache,官方 aosp 网站没有任何关于 ccache 的信息了,只有多个构建。ccache 是否仍然适用于最新版本的 aosp ?

0 投票
0 回答
98 浏览

build - 我可以用 CCache 加速 IWYU 吗?

我正在开发一个项目,它使用 CMake 生成构建系统,使用 CCache 加快构建速度(通过设置CMAKE_CXX_COMPILER_LAUNCHER),并包含您使用的内容来整理所需的标头(通过设置CMAKE_CXX_INCLUDE_WHAT_YOU_USE)。

IWYU 需要花费相当长的时间来分析所有项目文件,这使得构建过程变得不必要地冗长。

有没有办法使用 CCache 缓存其结果?

如果有任何建议,IWYU 会返回退出代码 1,如果没有建议则返回 2,因此我尝试创建一个返回 0 而不是 2 的包装器,因为 CCache 需要它来缓存结果,但这并没有太大帮助。现在它抱怨没有创建输出文件。这是正确的方法吗?

0 投票
0 回答
124 浏览

r - 将 ccache 与 Stan 模型一起使用

我发现编译 Stan 模型有点慢,而且我经常重新编译相同的模型“以避免崩溃 R 会话”。看起来 ccache 在这里是一个很好的解决方案——我可以缓存编译结果,R 可以根据需要重新加载编译的对象。但是,ccache 无法返回缓存的结果,因为rstan::stan_model它正在创建具有不同名称的临时 C++ 文件。有没有办法stan_model使用相同的 C++ 文件名?还是有更好的方法来缓存编译?rstan 代码中的此注释使缓存似乎成为可能。

系统详细信息:Ubuntu、R 4.0、gcc 9.3.0、ccache 3.7.7。ccache 有它的默认设置,除了hash_dir=falsecompression=true

脚注:为什么不使用auto_write=TRUE?可能我做错了,但在我运行的模型中,这并不能阻止重新编译。

0 投票
1 回答
2808 浏览

android - ccache 以只读方式失败

我在 ubuntu 机器上构建 android 10。来源是自定义的,而不是专门针对谷歌的。源代码是硬编码的,用于预构建的 clang 以使用 ccache。我已经安装了 ccache 并将这些变量添加到 bashrc:

_CCACHE_EXEC=/usr/bin/ccache

_CCACHE_EXEC -M 50G

导出 USE_CCACHE=1

chmod 和 chown ~/.ccache 在构建过程中的结果是一样的,实际的错误是:

ccache:错误:无法创建目录 /home/brandonabandon/.ccache/tmp:只读文件系统。

我无法联系来源的所有者。我试图禁用 ccache,由于最近的硬编码 ccache 提交,这会导致进一步的错误。我以前可以建造得很好。我被难住了一个星期。有任何想法吗?

0 投票
0 回答
2112 浏览

linux - ccache 未能在 /var/cache/ccache/ 中创建临时文件,权限被拒绝。在 Gentoo Linux 上

安装emerge软件时总是出现这个问题。我的 ccache 目录挂载在 /dev/sda2 上,这是 btrfs 中的主分区。已设置相应的目录权限。/etc/fstab 我在下面发布。

这是错误消息之一:

ccache 配置和状态:

/var/cache/ccache 的一些信息:

fstab:

使.conf:

0 投票
3 回答
730 浏览

caching - 如何在奇点构建中利用主机缓存?

我正在寻找优化奇点 HPC 容器构建时间的方法。我知道我可以通过逐层构建它们来节省一些时间。但是,仍然有优化的空间。

我感兴趣的是在主机系统上使用/缓存任何有意义的东西。

  1. CCache 用于 C++ 构建工件缓存
  2. git repo 克隆
  3. APT 软件包下载

我做了一些实验,但没有成功。

到目前为止我发现了什么:

缓存

我在容器中安装 ccache 并指示构建系统使用它。我知道因为我singularity build使用 sudo 运行,所以缓存会在/root. 但是运行构建后,/root/.ccache是空的。我验证了生成的 CMake 构建文件,它们肯定使用 ccache。

我什至创建了一个包含%post

但是测试文件没有出现在主机系统的任何地方(不在/root我用户的家中也没有出现)。构建步骤是否将容器支持的目录挂载到/root而不是主机的根目录?

是否需要做更多的事情来利用 ccache?

吉特

人们建议运行例如 git-cache-http-server ( https://stackoverflow.com/a/43643622/1076564 ) 并使用git config --global url."http://gitcache:1234/".insteadOf https://.

由于奇异性可以读取主机文件系统的部分内容,我认为甚至有一种方法可以让它在没有代理程序的情况下工作。但是,如果主机 git repos 不在$HOMEor/tmp中,那么在构建过程中,singularity 如何访问它们?singularity build没有--bind标志来指定其他挂载目录。并且使用%files配方中的部分听起来效率低下 - 每次运行构建时都复制所有内容。

易于

人们建议使用例如 squid-deb-proxy ( https://gist.github.com/dergachev/8441335 )。同样,由于奇异性能够读取主机文件系统文件,我想只使用主机的/var/cache/apt. 但/var默认情况下不会挂载到容器中。所以再次出现同样的问题 - 我如何/var/cache/apt在容器构建期间挂载。总的来说这是个好主意吗?考虑到主机和容器都基于相同版本的 Ubuntu 和架构,它不会损坏主机的 APT 缓存吗?

还是奇点本身做了一些聪明的 APT 缓存?我刚刚注意到它在 25 秒内下载了 420 MB 的包,这在我的连接上是可能的,但考虑到 ubuntu 镜像的标准速度,这不太可能。


编辑:我在奇异回购上创建了一个问题:https ://github.com/hpcng/singularity/issues/5352 。

0 投票
2 回答
85 浏览

c++ - 如何使用 `ccache -s` 显示不同 CCACHE_DIR 的命中率

当我使用ccache -s时,我会变成这样。

但是当我CCACHE_DIR为不同的 C++ 项目设置不同的环境时,我怎样才能得到我的CCACHE_DIR统计数据呢?有没有参数可以做到这一点?