|
|
发表于 2008-11-27 13:36:31
|
显示全部楼层
Post by woodenapple;1914618
lejcey说的有道理.其实我相信在gentoo的机制下面可以创造出完美的系统,编译出比官方的binary更好的程序.但是有个问题就是我们不可能都是编译器专家,并且深入了解每个程序各自的特点而针对每个程序进行不同的编译器优化.
我个人感觉gpo也是一个基于统计的一种优化方式,不说比较麻烦(编译一次就够呛了,两次:yun ,而且应该也不可能达到理想化的优化性能.也许对于我这种不喜欢反复琢磨的懒人来说,使用binary的效果说不定更好.确实我用firefox-bin速度更稳定一些.但是说到底,一般的程序,靠编译优化的性能提升应该还是比较有限,我相信更多的问题在于程序算法本身.
但是我还是感觉我实验室ff慢的原因不仅仅是编译优化的问题.家里的电脑(gentoo on amd2500++512M+MX440)跑ff都比我实验室的(gentoo on 酷睿 +1G+GMA945)快,同样的没怎么优化,这没法说得过去.
现在我怀疑是不是显卡的问题.945板载显卡,以前都是使用i810的驱动,跑beryl飞一样.现在xorg换成vf86-video-intel,好像是intel自己的驱动,拖动窗口都有很明显的残影
另外
- applepie crazyapple # eselect opengl list
- Available OpenGL implementations:
- [1] xorg-x11 *
复制代码
我还真没注意过,这个opengl是不是有问题,intel自己的驱动那
我认为您说得很有道理,其实现在很多程序都有了自动检测CPU的代码,尤其是密集计算型程序,比如游戏、多媒体、数学软件,会根据不同的CPU自动启用一些指令集,达到更快速的目的。
对于x86体系,为了兼容旧CPU,几乎所有的程序默认都是-march=i686的,我还没有测试仅仅是将march换成core2会不会得到直接的性能提升。对于x86_64来说,桌面64bit芯片出来的时候似乎就带了sse2指令集?所以恐怕很多人认为64位系统比32位系统快的原因就是这一点?所以我觉得Gentoo对于x86体系自己编译应该是有不少提升的。我在编译内核的时候将参数改为-O3 -march=core2 -fomit-frame-pointer -s,使用这个参数系统并没有出现任何不稳定的情况,在启动的时候,启动到OpenRC之前的时间从5.1秒减少为4.8秒,而且FrameBuffer的速度飞快,似乎只是一个微小提升,不过kernel和glibc的微小提升对系统就是一个大幅提升。
我觉得现在系统的主要瓶颈不在CPU上,而在于硬盘的速度,基本上CPU的速度每2年可以翻一番,但是硬盘的速度在过去4年以来只翻了一番,所以我在思考,是不是在非密集型计算的程序上将代码编译成-Os会更快呢?减少程序加载的时间。大多数程序加载之后驻留在内存中,并不会需要太多的CPU资源,而大部分性能都损失在加载的过程当中,尤其是TeX这类程序,真希望TeX能将那几万个小文件打包一下。
至于您说的驱动,我不是很了解,因为我没有笔记本,也不知道集成显卡怎么设置,通常我在安装了nvidia的驱动之后就可以选择nvidia来渲染了。 |
|