+ -
当前位置:首页 → 问答吧 → 不同编译参数的影响有多大

不同编译参数的影响有多大

时间:2009-10-09

来源:互联网

最近在帮老板做一个trace工具,这个工具能够得到一个程序实际运行过程中的实际指令数量,在不同系统上面测试结果差别很大:
Host上的装的是arch,测试ls这个shell程序的实际运行的指令数量,结果在42W左右。
Vbox上的ubuntu,同样是测试ls,结果是270W左右,是arch的6倍多
开始以为是虚拟机的问题,后来在老板的恐吓下在host上装了个ubuntu,结果测出的数量和Vbox上没什么两样。于是郁闷了,arch和ubuntu的编译参数有何不同?这结果相差也太大了吧。

PS:Windows上也测了,一个dir命令运行了480W左右的指令,汗了,就当人家的虚拟8086模式比较特别吧

作者: zmwgreenrain   发布时间: 2009-10-09

对这个很感兴趣,来看看~~

作者: 独钓寒江雪   发布时间: 2009-10-09

为什么不写信跟 Arch Linux 开发者交流交流? 相信你们的数据人家也会很感兴趣。

作者: cwjiof   发布时间: 2009-10-09

ubuntu没记错的话应该是用的busybox之类的吧,和这个不知道有关系没。

busybox容量是小了,但是也许需要执行解压操作

作者: jarryson   发布时间: 2009-10-09

引用:
作者: cwjiof
为什么不写信跟 Arch Linux 开发者交流交流? 相信你们的数据人家也会很感兴趣。
我们这个项目还没release,虽然是开源项目,老板还是一再嘱咐不能外泄,所以我也就只能拿这个奇怪的结果来讨教下大家。这个结果只是个副产品,无意中的发现

作者: zmwgreenrain   发布时间: 2009-10-09

引用:
作者: jarryson
ubuntu没记错的话应该是用的busybox之类的吧,和这个不知道有关系没。

busybox容量是小了,但是也许需要执行解压操作
呃,刚刚查了下busybox的原理,busybox将常用指令bin文件中的重复部分进行了压缩,貌似执行ls之类的常用指令时,实际调用的是busybox而不是硬盘中ls的bin文件。
如果是这样的话,确实会产生指令大幅增加的结果。这好像是在用CPU资源换取内存和硬盘,嵌入式系统中这么做还能理解,ubuntu这么做就有点儿不理解了 ……

作者: zmwgreenrain   发布时间: 2009-10-09

再次为中国的开源环境感到悲哀。

Ubuntu更注重易用性,性能是可以无视的,交给硬件更新吧。
其实现在最大的瓶颈应该是显卡驱动和xorg-server的性能吧,如果可以坚持工作在console下,再一般的电脑速度都飞快。

作者: zhou3345   发布时间: 2009-10-09

引用:
作者: zhou3345
再次为中国的开源环境感到悲哀。

Ubuntu更注重易用性,性能是可以无视的,交给硬件更新吧。
其实现在最大的瓶颈应该是显卡驱动和xorg-server的性能吧,如果可以坚持工作在console下,再一般的电脑速度都飞快。
哦,没什么可悲哀的,没说ubuntu不好,只是基于事实的一点儿疑问罢了,还没到那个高度。

开始以为是编译参数的问题,所以比较吃惊,毕竟指令数量相差6倍,执行时间相应也会相差六倍,若真是参数问题的话,再好的驱动、再好的xorg-server、再好好硬件也没什么用。
上面的jarryson前辈指出了这是busybox的问题,证明我想的是错的,并不是编译参数的问题。所以没什么可说的了,呵呵,多学些知识不会错 ^^

作者: zmwgreenrain   发布时间: 2009-10-09