|
发表于 2003-9-29 20:26:11
|
显示全部楼层
第一:FreeBSD的ports机制非常完美,Gentoo的portage是学FreeBSD的ports,但姜还是老的辣,在FreeBSD中的ports中编译软件是非常的舒服,出错的机乎非常少,而Gentoo动不动就来个masked,gnome 2.4还需加以手工才能编译完整。
我只能说你不了解gentoo的portage,mask是因为软件本身太新,没有经过充分的测试,并不是portage里面的文件有问题。否则,debian更加不能要了,现在的stable里面kde还是2.2。何况,要说到新,我现在用的kde cvs,有专门的ebuild,直接一个emerge就行,freebsd有么?
第二:FreeBSD比大部分Linux发行版速度快。甚至比Gentoo要快许多,这都是经过我实践的。一个明显的例子就是在FreeBSD的新版ports中编译整个gnome 2.4只需三个小时,而Gentoo则需六个小时;xmms在FreeBSD中编译只需四分钟,而在Gentoo中至少要八分钟。进入gnome 2.4及kde 3.1.2明显比Gentoo的时间短。(pentium 3 1.3GHZ,256M SDRAM,在Gentoo的/etc/make.conf的cflag中加入了-mcpu=pentium3 及03等优化参数。FreeBSD的/etc/make.conf 加入了-mcpu=i686的参数。)
对这一点我感到很疑惑,所以专门拿xmms测试了一下;gnome牵扯到的东西太多,重复编译太麻烦,就算了,而且我编译gnome很多次了(从2.3.2开始的每个beta版),好像时间从未超过四个小时
先说几个观点:
首先,使用优化参数是会*降低*编译速度的,特别是使用O3参数;
其次,gentoo编译gcc/gcc的时候,去掉了大多数优化参数,只保留了"-O -O1 -O2 -mcpu -march -mtune -fstack-protector -pipe -g";
最后,从常识判断,使用同样的gnu gcc/glibc,只是换了kernel,编译速度就能差出一倍?
我的测试结果(athlon 1.2G/512M)
a) CFLAGS="-march=i686 -pipe",emerge xmms-1.2.8,去掉大多数USE变量,用时242s(time -p),4分钟
b) CFLAGS="-march=athlon-tbird -Os -pipe -fomit-frame-pointer
",emerge xmms-1.2.8,去掉大多数USE变量,用时295s,接近5分钟
c) CFLAGS同b),使用除ipv6之外的所有USE变量,用时316s
|
|