- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于缓存配置的问题。在我们的开发环境中,我们有数百个使用绝对路径构建对象的 make 文件。
我想加快进程并使用ccache。不幸的是,当从不同位置编译时,我可以看到缓存未命中。下面是一个例子源文件放在不同目录中的简化情况。我必须如何设置 ccache 以获得适当的命中率?
我尝试设置 CCACHE_BASEDIR 变量但没有成功:
developer@crunchbang:~$ pwd
/home/developer
developer@crunchbang:~$ ccache -s
cache directory /home/developer/.ccache
cache hit (direct) 0
cache hit (preprocessed) 0
cache miss 0
files in cache 0
cache size 0 Kbytes
max cache size 1.0 Gbytes
developer@crunchbang:~$ ccache g++ -c /home/developer/unique_name1/contest.cpp
developer@crunchbang:~$ ccache g++ -c /home/developer/unique_name2/contest.cpp
developer@crunchbang:~$ ccache -s
cache directory /home/developer/.ccache
cache hit (direct) 0
cache hit (preprocessed) 0
cache miss 2
files in cache 4
cache size 16 Kbytes
max cache size 1.0 Gbytes
developer@crunchbang:~$ ccache g++ -c /home/developer/unique_name1/contest.cpp
developer@crunchbang:~$ ccache g++ -c /home/developer/unique_name2/contest.cpp
developer@crunchbang:~$ ccache -s
cache directory /home/developer/.ccache
cache hit (direct) 2
cache hit (preprocessed) 0
cache miss 2
files in cache 4
cache size 16 Kbytes
max cache size 1.0 Gbytes
developer@crunchbang:~$ ccache --version
ccache version 3.1.7
Copyright (C) 2002-2007 Andrew Tridgell
Copyright (C) 2009-2011 Joel Rosdahl
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
最佳答案
您是否考虑过更改 Makefile 以使用相对路径?您可以使用提到的技术 in this post无需进行太多更改即可执行此操作。
另外请注意:CCACHE_BASEDIR 生成相对于当前工作目录的路径(可能可以在联机帮助页中更清楚地指定一些内容)。这意味着您的 2 个编译命令将导致(使用 CCACHE_BASEDIR=/home/developer):
developer@crunchbang:~$ ccache g++ -c unique_name1/contest.cpp
developer@crunchbang:~$ ccache g++ -c unique_name2/contest.cpp
换句话说:它们仍然会有所不同。只有在 unique_name 目录中编译才能解决此问题。例如
developer@crunchbang:~$ cd /home/developer/unique_name1 && ccache g++ -c /home/developer/unique_name1/contest.cpp
developer@crunchbang:~$ cd /home/developer/unique_name2 && ccache g++ -c /home/developer/unique_name2/contest.cpp
将导致:
developer@crunchbang:~$ ccache g++ -c contest.cpp
developer@crunchbang:~$ ccache g++ -c contest.cpp
关于ccache - '缓存'配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24713745/
使用 CCACHE 时使用多个缓存目录或完全清除缓存的实际原因是什么? Buildroot BR2_CCACHE 配置选项的帮助说明如下: Note that Buildroot does not t
我正在尝试使用通过 copr 安装的 Bazel 0.16.1 和通过 DNF 安装的 ccache 3.4.2 在 Fedora 28 上构建 C++ 应用程序。我正在使用默认的 cc_binary
我有一个关于缓存配置的问题。在我们的开发环境中,我们有数百个使用绝对路径构建对象的 make 文件。 我想加快进程并使用ccache。不幸的是,当从不同位置编译时,我可以看到缓存未命中。下面是一个例子
作为构建过程的一部分,我想获取有关构建时间以及ccache是否在缓存中找到该项目的统计信息。我知道ccache -s,可以在其中比较以前和当前的缓存命中计数。 但是,如果我有数百个并行运行的编译线
据我所知,ccache 通过捕获以前的编译并检测何时再次进行相同的编译来加快编译速度。然而,makefile 做同样的事情。那么为什么我们需要ccache呢?我们什么时候使用它?谢谢! 最佳答案 除了
我在 ubuntu 机器上构建 android 10。来源是自定义的,而不是专门针对谷歌的。源代码是硬编码的,用于预构建的 clang 以使用 ccache。我已经安装了 ccache 并将这些变量添
我们的系统支持使用三种不同的工具链(gcc、icc、diab)构建。我不确定在这种情况下使用 ccache 是否安全。我担心的是:如果我用 gcc 构建,然后用 diab 重建,如果文件和它们的依赖项
刚开始使用ccache基于this tutorial到目前为止我喜欢它。但是,缓存未命中的速度非常慢。这是我的结果: Regular clean build without ccache : 1m40
我正在尝试使用 clang + icecc + ccache 构建。但我无法让它工作。我在同一个网络上使用 gcc + icecc + ccache 成功构建。 以下是软体版本: Clang vers
试图结合 ccache 和 colorgcc。关注 link text : 我的 g++ 是 colorgcc 的软链接(soft link) ~/.colorgccrc 包含行:“g++: ccac
我在 Docker 云上使用自动构建来编译 C++ 应用程序并在图像中提供它。编译时间很长(范围为 2-3 小时)并且在 github 上的提交很频繁(每天约 10 到 30 次)。 有没有办法以某种
环境是Ubuntu 12 我有同一版本的两个不同版本。 位于/media/CM10/custom 下另一个在/home/malachi/CM10/android/system 我有一个专门的 buil
我一直在 build LineageOS和 AOSP ROM 已有一年多了。 在我的 PC 上构建对我来说大约需要八个小时,我知道使用 ccache 可以加快我的速度。但是我在 LineageOS 的
为了加快gcc的编译时间,我们有两个选择: 高速缓存 gcc 的预编译头文件 但是,我不知道在什么情况下哪个更好。 我用谷歌搜索了这个问题,得到一些模糊的印象,即 ccache 完全优于另一个。是吗?
我有一个使用 makefile 编译代码的源目录。这个 makefile/configure 文件不是为了 ccache 兼容性而编写的。所以我想到了使用ccache。我在 .bashrc 中创建了别
ccache 统计“调用链接”是什么意思。我以为 ccache 只包装了编译器,没有包装链接器? [Brian@localhost ~]$ ccache -s cache directory
关于在 GNU/Linux 上启用 ccache 的文档非常少。这是来自 launchpad.net 的回复: At the moment, I think the best way to enabl
我正在努力将 C++ 项目的构建移动到 docker 镜像中。该图像将由 Jenkins 作业构建和推送。在使用 docker 之前,我大量使用 ccache 来加速我在 Jenkins 上的构建,尤
我想做以下事情:如果 CCache 存在于 PATH 中,则使用“ccache g++”进行编译,否则使用 g++。我尝试编写一个包含 的小型 my-cmake 脚本 CC="ccache g
我无法从 ccache 获得一致的 yield 在我的 Jenkins 管道构建中。我正在设置 CCACHE_BASEDIR到我当前构建目录的父目录(这类似于 /opt/jenkins/workspa
我是一名优秀的程序员,十分优秀!