Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

版权申明
查看: 6917|回复: 9

freepascal 效率如何啊?

[复制链接]

该用户从未签到

发表于 2012-3-2 19:10:58 | 显示全部楼层 |阅读模式
网上看篇网文,说freepascal 比 delphi 7要慢至少30%。而delphi 7 本身就比 c 要慢30%(宝兰公司官方宣传),这样的差距,不是比虚拟机语言如java、python还差吗?
这样的话还要编译二进制似乎已经没什么意义了,还失去了虚拟机语言即时跨平台的优点
不知道现在新版的 freepascal 效率如何?谁知道啊?
回复

使用道具 举报

该用户从未签到

发表于 2012-3-2 21:05:19 | 显示全部楼层
Delphi7内存管理不行。
性能是freepascal比delphi高。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-2 21:33:58 | 显示全部楼层
freepascal运行效率比delphi和.net都要高
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-3 01:21:54 | 显示全部楼层
比Delphi效率高?说梦话吧
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-3 09:54:40 | 显示全部楼层
综合来说fpc的优势在于
1.可读性高,大小写不敏感;高级编程语言是给人读写的,汇编是给机器读写的,所以现在高校都基本上会用pascal来教学,NOI(计算机奥赛)也是使用FPC的;
2.开源,小型化,跨平台;


至于运行效率,最高的当是汇编,所以编译后效率才会达到最高。只要数据结构和算法够优秀,高级语言可以无限接近汇编。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-3 11:33:28 | 显示全部楼层
這個網站有各家語言的性能實測....

http://shootout.alioth.debian.org/

看了之後的感想,嗯....FPC就執行的速度上確實沒有比較快,但是也沒有差到哪邊;

不過有個很有特色的地方就是,所有測試FPC所佔用的記憶體量幾乎是各語言最低的,

如果對於"速度"與"記憶體用量"兩者的重視程度1:1的話,那FPC佔前三名跑不掉......

對於資源有限的嵌入式系統來說應該是好事吧!

只可惜現在記憶體賤價如糞土......大家好像都只追求速度?(看那些中介語言變態的記憶體用量...)
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-3 14:10:17 | 显示全部楼层
楼上都说得很好,fpc有他的优势,快速开发,跨平台,小巧,网络了一大批pascal和fpc追随者
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-4 01:55:47 | 显示全部楼层
都知道delphi编译的程序与VC编译出来的程序的运行效率旗鼓相当.
C语言是面向过程的语言所以它更快也不奇怪,而C++和Object pascal是面向对象的.
;
                 关于FPC跟delphi
delphi有很多函数都是直接用汇编优化的 (x86指令集就够了所以工作量相对不大).
FPC是跨平台的,所以直接用汇编优化似乎不太方便(不同的cpu不同的指令集).

     追求运行效率的话那我们就不要太依赖编译器 ,如果写的是很糟糕的代码那再好的编译器又有什么用呢?
     如果你要写一个对效率有特殊的要求软件那你会发现任何编译器都帮不了你,你必须得自己做优化. 想想 mmx sse 之类的指令集都是给谁准备的?
如果你肯在 asm end;之间写点什么,你就不会对任何编译器有任何跟效率有关的抱怨了.

     FPC正在不断的成长,如果你细心的话你就会发现他们每天都在工作. 而且任何人只要愿意的话都可以加入进去.  delphi在某些方面只能跟FPC的距离越来越近,这是相对的,因为其实它们俩在互相超越.
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-5 08:47:16 | 显示全部楼层
fpc足够快,不要用VM语言来对比,没有可比性;
性能(CPU占用、内存占用、速度)上如果对fpc缺少信心,可以编译运行CodeTyphon2.5自带的一些2D/3D例子程序,你还想怎样快法?!

在系统级语言这个领域里历史上fpc没有c/c++主流是由其它一些因素导致的,不关性能的事。除了已有系统基于C这个不可改变的现状之外,其中主要一条原因是fpc类型转换限制太死,语言语法不及C灵活。就本人而言,一直非常不习惯fpc下指针声明和使用的繁琐方式,每当这时候,就会对C下 **whatever++这种表达方式流口水;还有就是那些高手们对“不透明指针”的操作,那个牛X啊,口水ing~

早有人打过比喻:fpc 是瘦身马夹;而(C/C++)是大板斧,很犀利,但你一不小心就会砍在自己脚上,即便是那些C/C++ guru也逃不过此劫。

世上的事物永远是两面的,利弊相依,天底下没有免费的午餐。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2012-3-10 20:39:34 | 显示全部楼层
http://shootout.alioth.debian.org/u64q/pascal.php
freepascal的性能是G++的1/3,GCC的1/4,大概是Delphi7的1/2
由于使用GTK库是C语言核心,所以GUI速度可能大于Delphi和MFC。
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 06:10 , Processed in 0.054267 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表