+ -
当前位置:首页 → 问答吧 → 编译加速又一法:FEATURES="confcache"[portage现已无confcache]

编译加速又一法:FEATURES="confcache"[portage现已无confcache]

时间:2006-04-23

来源:互联网

每编译一个软件都要经过./configure这一步
每次都从头来过,比较浪费
confcache可以将前面的./configure结果缓存起来

启用方法是在make.conf里的FEATURES里加入"confcache sandbox“
然后emerge confcache sandbox

以后再emerge的时候就可以利用confcache了

ccache + confcache的效果
代码:
$ genlop --date 1 day ago -t coreutils
 * sys-apps/coreutils

 Sat Apr 22 22:52:10 2006 >>> sys-apps/coreutils-5.94-r2
 merge time: 4 minutes and 31 seconds.

 Sat Apr 22 22:55:29 2006 >>> sys-apps/coreutils-5.94-r2
 merge time: 2 minutes and 4 seconds.

作者: zhllg   发布时间: 2006-04-23

还要 sandbox。。一会儿在 LFS 上试试。
谢谢推荐。

(44个人看过,只有我一个人回复,没有一个人说说用了后的效果?)

作者: 晨想   发布时间: 2006-04-23

因为刚开始用,还没看出效果,呵呵

作者: daqie   发布时间: 2006-04-23

升级是不是就没有效果了?

作者: Amorous   发布时间: 2006-04-23

good, 试试先

作者: soloforce   发布时间: 2006-04-23

我只想知道要用ccache,得添加哪几个参数?
我按照example添加好像没反应?

作者: Freesnake   发布时间: 2006-04-23

有没有办法在emerge的时候只显示错误输出,没有错误就不显示,我觉得还能节省一部分时间。

作者: 小楼东风   发布时间: 2006-04-24

sanbox是做什么用的?

作者: Yuri   发布时间: 2006-04-24

引用:
作者: 小楼东风
有没有办法在emerge的时候只显示错误输出,没有错误就不显示,我觉得还能节省一部分时间。
在/etc/make.conf 的 MAKEOPTS 选项里加上"-s" 不知行不行。

作者: cxyhjx   发布时间: 2006-04-24

现在用来提高编译速度的方法都有那些呢?

作者: ifree   发布时间: 2006-04-24

ccache - 缓存预处理的结果
confcache - 缓存./configure的结果
distcc - 分布式编译(多台机器一起编,不过条件比较苛刻)

作者: zhllg   发布时间: 2006-04-24

ccache是对#include<header.h>等预处理的缓存吗?

作者: ifree   发布时间: 2006-04-24

是的
http://ccache.samba.org/

作者: zhllg   发布时间: 2006-04-24

是不是只要以下几步就可以了:
emerge ccache
在/etc/make.conf里添加
FEATURES="ccache“
CCACHE_SIZE="2G"
再emerge时就可以使用ccache了?

ccache -s查看ccache 的统计数据:

要在自己写的程序中使用ccache,只要在makefile里定义
CC="ccache gcc",用$CC调用编译器就用到ccache了?

作者: ifree   发布时间: 2006-04-24

you got it

作者: zhllg   发布时间: 2006-04-24

谢谢zhllg了。

作者: ifree   发布时间: 2006-04-25

引用:
作者: cxyhjx
在/etc/make.conf 的 MAKEOPTS 选项里加上"-s" 不知行不行。
好像没有起作用。

作者: 小楼东风   发布时间: 2006-05-13

那如果configure出现错误,错误的结果也缓存起来,是不是这个软件永远装不上了?

作者: swordman   发布时间: 2006-05-14

还没有听说过这样的问题
不过我想设计者应该会考虑到这一点
错误的结果自然没有保存的道理

作者: zhllg   发布时间: 2006-05-14

不错哦! genlop 还没有关注过呢, 原来都
emerge 之前 , date > log.txt
emerge 后 在 cat log.txt && date 进行比较,呵呵

作者: clsjz   发布时间: 2006-05-14

引用:
作者: zhllg
每编译一个软件都要经过./configure这一步
每次都从头来过,比较浪费
confcache可以将前面的./configure结果缓存起来

启用方法是在make.conf里的FEATURES里加入"confcache sandbox“
然后emerge confcache sandbox

以后再emerge的时候就可以利用confcache了

ccache + confcache的效果
代码:
$ genlop --date 1 day ago -t coreutils
 * sys-apps/coreutils

 Sat Apr 22 22:52:10 2006 >>> sys-apps/coreutils-5.94-r2
 merge time: 4 minutes and 31 seconds.

 Sat Apr 22 22:55:29 2006 >>> sys-apps/coreutils-5.94-r2
 merge time: 2 minutes and 4 seconds.
confcache 是不是没有了?安装不上。
还有没有其它加速编译的方法?除了ccache

作者: wangflove   发布时间: 2007-01-17

应该是没了
理论上说confcache加速效果有限
有时候还可能产生错误
不用也罢

作者: zhllg   发布时间: 2007-01-17

呵呵,明白。

作者: wangflove   发布时间: 2007-01-17

我怎么找不到confcache这个包?

作者: zhaoyaming   发布时间: 2007-01-18

老兄抬头往上看我昨天的回复

作者: zhllg   发布时间: 2007-01-18