免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7440 | 回复: 19
打印 上一主题 下一主题

Perl程序与c程序速度的比较。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-11 14:05 |只看该作者 |倒序浏览
上次powerplane 提到了perl程序速度与c程序速度的问题,
我特意做了如下测试,
结论,速度由快->;慢 为:c程序, perl编译为2进制,perl程序。
c程序是最快的。将perl程序编译以后运行,速度会有提升,但是
还是不太另人满意。

(本结论只限于本类或相关的处理任务,其他方面的速度,没有测试。)


环境:
SunOS usrbj 5.7 Generic_106541-18 sun4u sparc SUNW,Ultra-80
4 X The sparcv9 processor operates at 400 MHz
This is perl, version 5.005_03 built for sun4-solaris


第一个例子:
Squid代理日志里,时间的格式为timestamp,
程序的目的是将其转化为字符串形式,如:
1023389651.867 =>; Fri Jun  7 02:54:11 2002

1300万行的文本,每行都只是一个时间戳。

c程序                --  4m10.852s
perl编译为2进制运行  --  12m22.918s   
perl程序             --  15m25.416s

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-08-11 14:13 |只看该作者

Perl程序与c程序速度的比较。

謝謝Deathcult的測試..讓我有個參考數字..

perl編譯成binary檔時,為了讓語法簡單,
後面不知道附加了多少沒用到的C代碼,會比c
慢也是無可厚非..

论坛徽章:
0
3 [报告]
发表于 2003-08-11 14:13 |只看该作者

Perl程序与c程序速度的比较。

第二个例子:
将ip地址字符串转化为整形,以便于比较其属于哪个网段,
简单的转化为:去掉".",除首位外不够3位的前面补0。
比如:202.108.95.43 =>; 202108095043
然后根据ip表:202108072000 2021080970111 北京
判断为北京。

要处理的文本为1200万行,每行都是一个ip地址。


c程序 -- 2m14.136s
perl编译为2进制运行 -- 5m15.805s
perl程序 -- 6m18.457s

论坛徽章:
0
4 [报告]
发表于 2003-08-11 14:21 |只看该作者

Perl程序与c程序速度的比较。

原帖由 "apile" 发表:
謝謝Deathcult的測試..讓我有個參考數字..

perl編譯成binary檔時,為了讓語法簡單,
後面不知道附加了多少沒用到的C代碼,會比c
慢也是無可厚非..
   


是啊,而且perlcc编译后的elf文件会很大。

文件大小:
perl程序   53
perl编译后 692120
c程序 7188

这是例子一,处理时间戳的那个程序,其实是很简单程序:

  1. #!/usr/local/bin/perl -p
  2. s/^\d+\.\d+/localtime $&/e;
复制代码



perlcc处理后产生的c源代码,十分复杂,根本看不明白 :)

论坛徽章:
0
5 [报告]
发表于 2003-08-11 14:37 |只看该作者

Perl程序与c程序速度的比较。

very good thanks!

论坛徽章:
0
6 [报告]
发表于 2003-08-11 15:03 |只看该作者

Perl程序与c程序速度的比较。

要说执行效率,还是c啊!
所以我喜欢c

论坛徽章:
0
7 [报告]
发表于 2003-08-11 15:50 |只看该作者

Perl程序与c程序速度的比较。

如果用其他c的正则表达式工具,如lex等生成的bin不知道如何呢?

论坛徽章:
0
8 [报告]
发表于 2003-08-12 09:49 |只看该作者

Perl程序与c程序速度的比较。

2m14.136s
这个是什么意思?2秒?14秒????

论坛徽章:
0
9 [报告]
发表于 2003-08-12 18:38 |只看该作者

Perl程序与c程序速度的比较。

2分钟又14.136秒

论坛徽章:
0
10 [报告]
发表于 2003-12-01 10:47 |只看该作者

Perl程序与c程序速度的比较。

难道这世界上还有比c更快的语言么??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP