Delphi,C++Builder程序哪个运行速度快?(30分)

  • 主题发起人 主题发起人 chenke
  • 开始时间 开始时间
C

chenke

Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi1.0,2.0,3.0,4.0;
vs
C++Builder 1.0 2.0 3.0
 
另外,scktsrvr.zip是做什么用的?
 
delphi比c++builder编译快!运行也快!
 
我认为这要看应用领域。
在PASCAL方面,BCB和DELPHI没有本质的区别,因为BCB用的就是DELPHI的
编译器和库。由于C/C++固有的缺陷,C/C++文件编译速度比较慢。但相当
其它编译器来说,BCC32还是比较快的了。而且,只要仔细设置包含文件和
预编译头文件,可以大大提高BCC32的编译速度,此时BCB的编译不会比DELPHI
慢很多,其速度在可忍受的范围内。
运行效率上,如果是界面为主的程序,大部分工作是与VCL大交道,那么也许
DELPHI会快一些。但在现在的机器配置下面,这样的差别根本感觉不到,可以
忽略不计。但对算法性的程序,如要进行大规模的数据处理,这时C/C++的
优势就体现出来了。C/C++在这方面的效率肯定比PASCAL的高。而且,算法
大多数是C/C++编写的,BCB可以方便地使用,而DELPHI就很痛苦了。
我一向认为,即使BCB比DELPHI慢,也应该使用BCB。毕竟C++才是主流。而且
BCB的各版本都比DELPHI成熟,因为BCB总是比DELPHI晚出来。
 
scktsrvr.zip 是个winsocket server控件吧
 
在磁盘io方面,好象C++builder比delphi快的多。
是控件吗,好象只是两个可执行文件?
从炕头下载。
 
to chenke: Have BCB 2?
to eYes: No
to delphi fan 2: 编译快,运行要看你的程序怎么写
总的来说差别不大
 
要讲快, 在编译上Delphi比BCB快肯多. 运行程序上, Delphi编译的程序比BCB编译
的程序多少快一点. 在Exe文件大小上, BCB编译的比Delphi相应版本编译的大一些.
为什么? 下面是Teach Yourself Delphi 4 in 21 Days的原话.
<big>Delphi Compiles Faster and Produces Smaller EXEs</big>
Delphi programs will always compile faster than C++Builder programs.
Pascal compiles much faster than C++ because it isn't as complex.
C++Builder's use of pre-compiled headers and the incremental linker
helps reduce the effects by speeding up compile and link times, but
Delphi programs still compile much faster than C++Builder programs.
Along the same lines, Delphi programs are always smaller than
C++Builder programs. This is because of a number of factors, but
primarily because the VCL is written in Object Pascal. Because the
VCL is written in Object Pascal, a C++Builder program has to include
both the C++ Runtime Library and the Object Pascal Runtime Library.
Both C++ and Pascal use different exception handling and runtime type
information code, which results in extra code in a C++Builder
application.
 
我用PASCAL 与bc++ 3.1共同写过pl文法,bc++ 3.1输掉了,从此我知道原来使用类
是慢了!
vb delphi 与c++ builder里
for i:=0 to 50000do
j:=sin(x);
delphi 快于c++builder快 vb
不过让人感到兴奋的是delphi 3.0执行50000与vb 5.0执行5000差不多!
对于while until循环效果不一样,delphi 对for有优化!
 
知道我为什么问这个问题吗?我在Cpp大虾的竹叶上看到CBuilder 1.0写字典的
源程序,一时手痒,用delphi3.0改写了程序,发现速度比他慢的多,后来只好
采用memorystream,(人家直接用文件读写)速度才相当。不知Cpp大虾是怎么做的?
 
socksrvr.zip
=>{
scktsrvr.exe
scktsrvc.exe
}
启动文件时出错。
 
我个人认为BCB和DELPHI各有各的快之处。
BCB的消息处理采用消息映像机制(类MFC),在消息处理方面
比DELPHI快(这是专家说的,不是我说的)。
不算上VCL,C生成的代码质量比PASCAL高。但DELPHI的代码优
化功能真不简单,但限于PASCAL严格的语法,被太多的CALL消耗了
本可以省略的东东(主要是在string方面)。这个方面相信写一段
程序然后打开CPU窗口来对比一下就知道了,
其实现在编译器水平越来越高,生成代码的质量越来越好,C
和PASCAL生成代码之间已无很大的差别,关键在程序员身上。一个
100000的循环语句说不定VB程序员写出的程序速度比C程序员写出
的要快。
DELPHI有个WITH 。。DO。。语句,在循环外部加上特别有用,
它是先把要WITH的东东地址放到EBX寄存器中,这样在特大循环中
速度可快很多。其它地方用的话只是方便书写而已,对速度无多大
影响。如下面片段:
(1)
sl:=TStringList.Create;
b:='aaaaaa';
for i:=0 to 100000do
sl.Add(b);
(2)
sl:=TStringList.Create;
b:='aaaaaa';
with sldo
for i:=0 to 100000do
Add(b);
(3)
sl:=TStringList.Create;
with sldo
for i:=0 to 100000do
Add('aaaaaa');
三个片段的功能一样,但(3)快于(2)快于(1),
如果用嵌入式汇编,速度还能再提高些。程序速度
的快慢在于程序员怎么写,而不再于哪个语言的编译
器生成的代码更快(当然,解释性和编译性语言无法
在同一档次比较)。
我以前用的是BCB,但现在改用DELPHI了,原因
有三:(1)DELPHI方面的控件比能用于BCB的实在
是太多了,为了使用某些控件我不得不用DELPHI。
(2)DELPHI的版本总是比BCB推出的早,意味着用
DELPHI可以更早地使用更先进的技术,像用DELPHI
4可比BCB4早半年享受更新的数据库多层应用开发技
术。(3)BCB的控件库用的是DELPHI的VCL,很多方
面上用起来很怪异很难受(没有用OWL和MFC那样爽),
最后,我建议大家抛弃BCB和DELPHI,改用MS
公司的最好的开发工具----Visual Basic。难道你
们不知道,OFFICE 2001是用VB写的,将在2001年
4月1日推出吗?
 
m$的西西越作越大,越作越慢。
 
Kiven 讲得真好,相信前大半会令大家心悦臣服。
但是最后的建议 ...
 
同意kiven的意见
不过等我的机器升级到PIII*4CPU, 2G内存, 10TB硬盘再考虑
 
同意kiven 的意见,最好大家都用VB,文成武德,一统江湖,让什么其他
语言都见鬼去吧! 不过这一天只能在"2001年4月1日"才能到来。
 
4.1,同意,也有人说是在1998/04/01就推出了Beta版,最近用的人较少,主要是
CPU的Cache小于8Mb时不稳定
 
性能是程序员永远追求的目标之一,DN CHEN给了个压缩程序
把8M压缩到2M!!
但是我释放了10分钟:((
如果是进行位运算,C肯定比DELPHI快
BCB不是什么好东西,缺少C的优点,我不太喜欢:((
 
"OFFICE 2001是用VB写的"这个消息是哪年的4月1日(愚人节)发布的吧?
 
cpp的主页地址???
 
后退
顶部