delphi编译器效率高到底是指什么?

老在书上或哪里看到delphi编译器效率是一骑绝尘,我这里有点模糊,编译器效率速度快到底是指什么速度?是把语言转化为机器码的速度吗i?编译器效率高有什么好处?... 老在书上或哪里看到delphi编译器效率是一骑绝尘,我这里有点模糊,编译器效率速度快到底是指什么速度?是把语言转化为机器码的速度吗i?编译器效率高有什么好处? 展开
 我来答
lostuser
2010-09-15 · TA获得超过1836个赞
知道大有可为答主
回答量:972
采纳率:0%
帮助的人:0
展开全部
所谓delphi编译器效率高,一般指的是以下三方面:

1、编译连接时间短,这一点是其他任何编译器都无法相比的(一般来说,VC, VB编译过程所用的时间是Delphi的几倍),原因很简单:Pascal语法限制严格,用户必须规范地编码,省去了编译器的很多麻烦。

2、编译出的程序执行速度快,产生的代码长度短。这一点比VB强,但和VC基本一样,谁也没有优势。不过很多人有误解,以为Delphi类库庞大复杂,加一个控件就要把整个一个源文件全部加进来,代码长度太大,效率太差。其实真实情况是,拥有众多VCL控件类库,是Delphi的一个独特之处,VC的MFC库无法与之相比——MFC有的底层简单封装的类,VCL库都有,但VCL有的上层组件,MFC却根本没有。使用VCL上层应用控件后,代码长度的确比VC大,不过VC却没有这方面的选择,而VC所用的从底层一砖一瓦地编码的方式,Delphi完全支持,而且绝对没任何劣势,代码长度也不长(VC的语法复杂,按C程序员一般习惯做的话,代码长的反而会是VC)。产生误解的原因,是多数Delphi程序员皮搜是应用级的,而VC程序员是底层些的,应用程序员大多不太懂得底层代码的编写,只会搬控件、响应事件,以为底层的东西Delphi做不来。

3、对应用级的程序开发周期短——这也就是Borland一贯吹捧的“快速开发工具”的含义。正因为VCL的存在(封装了很多界面组件以及通讯、数据库、internet应用等很多后台功能),对高层应用不再需要一砖一瓦地受累,使开发周期缩短了很多倍。

单纯从技术角度说,编译器效率应该指编译出的代码是否短小/运行速度是否快,以及是否能用较少的源代码高效地实现复杂功能。前一方面Delphi并不比VC差,而比VB强,但并非一骑绝尘;后一方面则的确有一骑绝尘之象。

Delphi的致命缺点,其实不是技术——技术它是领先的,毫无疑问,问题是市场策略陆贺和公司实力(Borland只是家小公司),微软“携操作系统以令诸侯”,误导了众多软件开发公司,让它们以为微软的才正宗和好用,造成了事实上的VB,VC用户群远比Borland的庞大,源代码数量也一样是C/C++远远占优,而Borland的C++ Builder却开发得太晚难以形成市场优势。

概括来说,如果你要开发上层应早握派用为主的程序,特别是数据库方面的程序,那么Delphi能让你省不少时间;而若开发底层些的软件,为能有更多相关代码可以参考利用,为能容易地招聘到更合适的程序员,以及为了代码维护方便,都适合用C/C++去做,当然,C++ Builder从技术上说是个不错的选择,只是用户群还太小。
moosewoler
2010-09-15 · TA获得超过828个赞
知道小有建树答主
回答量:203
采纳率:75%
帮助的人:110万
展开全部
什么一骑绝尘,没有那么夸张啦,DELPHI发布DELPHI7的时候也没说效率比同期的VC要高,只说了效率和VC相当,比VB高30%左右而已。现在的DELPHI更没有看到这样的宣传语了。。。。
编译器效率一般是指编译链接后的原生代码(也就是机器码)的执行效率,直观上就是在同样的平台上DELPHI的项目运行起来要比vb快。
另外一个效率不常讲,但是也会被用来衡量编译器的忧劣,那就是铅册对代码的优化是否合理。
编译器的效率高低是衡量编译器好坏的重要指标。
从运行期看,效率高的编译器编译出来的代码量小,运行速度快,
从设计期看,一个好的编译器可以完全让你不需要顾忌底层的实现。
但这是不可能的,BORLAND的产品不论是DELPHI还是BCB都对基本库中的例程做了内嵌汇编的实现,内嵌汇编意味这什么——我销孝不信任你编译槐斗宏器能编译出比我这段汇编代码更优化的原生代码。这个比喻有些过分,但是换一个角度可以看出,编译器的设计目标就是编译出的代码能与汇编的执行速度相比。

另外
最近经常以效率标榜的是ICC,INTEL宣称ICC编译出的代码要比其他编译器的代码运行效率高出30%到50%。
再另
DELPHI其实是一个开发系统,他经过精心设计的类库结构对其应用的速度提升也有帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
己闻楣Sx
2010-09-15 · TA获得超过1935个赞
知道大有可为答主
回答量:1057
采纳率:93%
帮助的人:908万
展开全部
如果把编译器效率理解为生成目标程序耗时短,那么书上的说法正确,delphi确实比VC快很多倍。

但是,delphi编译生成的程序运行效率和VC比,还是有差距,它的细节优化点不够丰富,举两个例子吧:
1、一个常型搭码量作为被除数的除法,VC会优化为另外一个数儿的乘法,当然前提要保证结果的正确性了,对于乘法指令远远高效于除法指令的这个事实,delphi没有关注和予以实现;
2、循环展开,有些情况下,VC能够把一个循环优化为顺序执行的一组指令,回避跳转语句,虽然指令多了,但是能够充分利用CPU的高速缓存、流水线、指令预取等机制,从而执行效率更好,delphi可就没这么高明了。

有关执行效率的优化,intel曾经宣称它是最牛的,应该有其可信度,毕竟intel最懂CPU呀。

假如不是那么特别在意执行效率,把delphi用作快速构建开发枝丛工具,还是不错的选择。生成目标程序快,从培养懒人的角度看,有点儿优势,程序可以“调”和“试”出来,而不用十分精到地卜哪“编”出来,不过对于专业程序员来说,这个方式应造唾弃,至少是不能滥用而丧失先设计后编码的习惯。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式