KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

[M] Prelude to K.O. (4)

[ 24403 查看 / 45 回复 ]

回复:[M] Prelude to K.O. (4)

GNU C编译器对于Inline过程的堆使用处理上效率很低...
以前我在Kernel里面写一个模块,试图使用递归(我知道不是很安全,但是想试试看),结果才循环了几次就死掉了,我原以为能坚持上百次。
结果将kernel module目标文件反编译一看,递归中使用了一个Inline的函数,只有20个字节的居于变量,但是编译器Push了接近700个字节... 不知道怎么"想"的.... XD
飛べない翼に、意味はあるんでしょうか?
TOP

回复: [M] Prelude to K.O. (4)

原帖由 wdx04 于 2007-5-18 13:53:00 发表
我对Intel C++还是比较有信心的,要不谁出个题目,固定算法,你用ASM实现,我用Intel C++,看速度能差多少?


不用看了,通常是8%~30%左右,测量不太好弄。我就无谓去证实具体的速度差了,毕竟一段代码说明不了太多的问题,而且我也没有精力去说服你,自己看看实际应用就知道了:D

如果觉得30%根本不能算慢,那只是个人观念的区别,表在意:lol
TOP

回复:[M] Prelude to K.O. (4)

M$的最后一个Pascal版本:
ftp://FTP_wdx04:kfckfc@61.129.117.61/QPascal.zip

30%的差距当然算比较大了,但是我认为优化C++代码和调整编译器设置可以把差距缩小到10%以内。
KEYFC第二届版杀 - 川澄 舞
TOP

回复:[M] Prelude to K.O. (4)


Windows版本的CAS是用Object Pascal实现的

Object Pascal是没有标准的,或者说Borland就是其标准?
这样的话如果要上其它平台就要做好重写的准备了= =

Linux下的kylix适用范围非常小,而且基本已经随着系统升级被废掉了= =
Linux的理念是“源代码级别兼容”,专有软件必须时常更新否则很快就会废掉。
至于FreePascal……我就不期待了。

GCC的强项是可扩展性和可移植性。要说某个平台的优化确实谈不上强项。

不过= =我还是喜欢gcc。要在各种平台上工作的话,有一套能够统一的环境和工具还是不错的。
至于Windows……好像gcc 4还没有Win32的Native移植吧,现在MinGW的版本还是gcc 3。

- -最后牢骚一句,x86的设计真恶心= =
最后编辑Miliardo 最后编辑于 2007-05-18 15:28:28
なのに、春を待ちわびる心消せない。
いつか、晴れた空のような笑顔に会えるよね?

……陽だまりの中で……
TOP

回复:[M] Prelude to K.O. (4)

现在的编译器其实都很先进的,想要手写ASM比编译器快还真不容易 :P
我一般只在我确信手写比编译有绝对优势的时候才用汇编:
比如,操作位图,还有临时储存一些数据,一两条ASM就能解决。这种情况下高级语言的包裹代码就太冗余了...

当然还有就是实现一些特殊目的,比如CAS的免锁队列中,也用到了不少的Inline汇编。
在试图1:1移植到C的时候,才发现了标准C不能在两块ASM间跳转:
ISO的解释(定义)是,C的Inline汇编快不应该有改变整个程序执行流程的能力。
我想这个多半也是为了编译器能够更加准确的优化代码而规定的。
飛べない翼に、意味はあるんでしょうか?
TOP

回复: [M] Prelude to K.O. (4)

原帖由 Miliardo 于 2007-5-18 15:22:00 发表
Object Pascal是没有标准的,或者说Borland就是其标准?
这样的话如果要上其它平台就要做好重写的准备了= =

Linux下的kylix适用范围非常小,而且基......


前面的讨论不是都说到了么,讨论标准是没有意义的。因为如果要按照标准来做程序,一切定会变得很痛苦,C也不例外。

至于Linux,至少目前Kylix在各个主要的版本的Linux最新的系统上运行的很欢畅,而且在未来的一两年很有可能会再出现一个升级版本的。
Mac嘛,既然都改用x86系统了,运行一下Windows或者Linux也无妨,新的Virtulization技术的应用目前也逐渐成熟了。
其他的系统、平台么,再说吧。毕竟我一个人也维护不了这么多的版本,两个系统我想已经基本足够了。


另外,友情提醒一下各位: 如果您的机器CPU支持最新的虚拟技术(Virtulization Technology),而且目前你没有用虚拟机的话,请务必在BIOS中将这个功能关掉。
在一个Hyper为空的环境下运行系统是一件极其危险的事情。

最后牢骚一句,x86的设计真恶心


没办法,现在的世界有钱、有市场就是王道。
"有钱可让鬼推磨"这句话在M$上得到了完美的印证:

举个例子: 视频压缩上,一开始DivX有很大的优势,画质:压缩率比值高,基本上被普遍使用;
M$的WMV格式后出来,一开始做得很差,画质明显不行,而且容量还大...
但是M$在接下的几年时间里面持续不断的往WMV开发部门投入天知道多少美元 (别人有这个经济实力啊)...
当投的钱足够可以买下DivX整个公司几次的时候,奇迹发生了,WMV每一个版本都有很大的进步,直到最近,网上相当大一部分视频都是用WMV格式压缩的了。

用户不是傻子,当然会选择好的程序用;但是只要有钱,大量的钱,就一定能够吧不好的东西改进的比竞争对手的好。
于是乎,钱就变相的和用户的欢迎程度,市场占有率挂钩了.....

所以,虽然金钱不等于一切,但是却可以影响一切。 =v=
最后编辑Prz 最后编辑于 2007-05-18 15:54:13
飛べない翼に、意味はあるんでしょうか?
TOP

回复: [M] Prelude to K.O. (4)

原帖由 Prz 于 2007-5-18 15:41:00 发表

至于Linux,至少目前Kylix在各个主要的版本的Linux最新的系统上运行的很欢畅,而且在未来的一两年很有可能会再出现一个升级版本的。


ORZ……Kylix在我用RH9/Debian3.0的时代就已经废了一大半了。
这么多年了,应该是完全废了= =有时间我在我的Ubuntu 7.04试验一下= =
(以前做过一个Kylix编译器的快速安装包供竞赛练习用的……不知道扔哪里去了)

Kylix很大一部分是基于libqt的,而qt本身变化就很大。
似乎Linux下C++库的二进制兼容性比C库的兼容性差很多的讲,现在应该基本废掉了……

至于Kylix会不会再升级……我个人认为Borland已经抛弃这个产品了。
Unix世界上有海量C/C++用户,下有各种脚本语言= =
不如专心做好gcc的CBX更有价值= =


另外,友情提醒一下各位: 如果您的机器CPU支持最新的虚拟技术(Virtulization Technology),而且目前你没有用虚拟机的话,请务必在BIOS中将这个功能关掉。
在一个Hyper为空的环境下运行系统是一件极其危险的事情。


CPU级别的虚拟技术……所谓可以在Xen上运行Windows的技术?
= =话说为啥危险= =
最后编辑Miliardo 最后编辑于 2007-05-18 15:49:50
なのに、春を待ちわびる心消せない。
いつか、晴れた空のような笑顔に会えるよね?

……陽だまりの中で……
TOP

回复:[M] Prelude to K.O. (4)

至于Kylix会不会再升级……我个人认为Borland已经抛弃这个产品了。


Borland是一间神奇的公司,你永远想不到他们的下一步。出奇才能制胜,特别是在恐龙公司称霸的时代。
Delphi 2007就是一个很好的例子:
* Vista Glass Frame的效果支持包装得非常的好。现在就连用M$自己的VS开发Glass Frame的窗口都要写很多行代码,Delphi只需要鼠标点几下...
* “Delphi for PHP” 无疑又是一个开先河之作,虽然我没有使用过,但是看见评论说,仅用鼠标点几下设计出来的网页菜单效果足以让现在大多数菜单代码汗颜....

话说为啥危险

因为现在可能已经有病毒/恶意程序部分应用了Virtulization技术。
一旦你的机器被其感染,病毒将成为你的机器的HyperVisor,你的整个系统都将在"恶魔"的监控下,而且因为有硬件保护,你没有任何办法检测出来。

这项技术的存在是在去年7月左右被透露出来的,据作者 (一个安全公司的技术研究员,幸好是) 描述,他的示范程序从 "入侵"系统 到 成功的称为机器的神秘管家 整个过程非常的迅速,甚至不需要重新启动机器.....
=v= 因为受到Matrix电影启发,取名为BluePill (Neo吃下蓝色药丸后大概就是这样的|||||||||)
最后编辑Prz 最后编辑于 2007-05-18 16:48:26
飛べない翼に、意味はあるんでしょうか?
TOP

回复:[M] Prelude to K.O. (4)

Delphi for PHP么……从PHP的角度看感觉是挺外行的东西OTL

总觉得那个设计方式完全没有PHP的感觉了- -而且把PHP也弄得非常Delphi- -
不知道到底能提高多少开发效率= =

话说这东西真的能和掌握PHP关键技术的Zend Studio竞争么……
なのに、春を待ちわびる心消せない。
いつか、晴れた空のような笑顔に会えるよね?

……陽だまりの中で……
TOP

回复:[M] Prelude to K.O. (4)

其实我一直觉得PHP很像各种高级语言的综合体。
曾经试图像用C++一样去用,发现虽然可行,但有些地方是不是很方便,主要就是缺乏一个IDE,没有一些智能辅助写程序效率很低,就像回到了DOS时代....
Delphi for PHP我看来正好弥补了这个空白。

不过,我没试用过,对其具体的技术细节没有发言权... =v=
飛べない翼に、意味はあるんでしょうか?
TOP