免费注册 查看新帖 |

Chinaunix

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

perl语言文本处理能力测试 [复制链接]

论坛徽章:
0
跳转到指定楼层
[收藏(0)] [报告]
发表于 2009-09-14 20:39 |只看该作者 |正序浏览
perl语言文本处理能力测试

1.实验环境

pc:CPU 2.5Ghz;MEM 1.5GB;HD 120G

system:windows xp sp3

perl:ActivePerl 5.8.9 Build 826

2.测试脚本自备

被测试文件:纯文本,中文,130MB,1027600行,字符数(不含空格)134946000个

正则表达式查询内容:中间件

测试脚本工作:统计匹配次数

3.测试结果

整个处理时间:3秒

找到匹配 441000个

4.测试分析

Perl 一般被称为“实用报表提取语言”(Practical Extraction and Report Language)

对于文本文件处理比C语言快,原因是
a.perl使用C语言开发,保持C语言的高效性。
b.C语言按字符流读取数据,perl语言按行流读取数据,按行流读比按字符流读要快得多。
c.针对文本处理进行了优化。

5.测试小结

海量文本文件处理应该使用perl语言,这也是Larry Wall设计perl语言的原因。

perl的存在使得在windows平台处理海量文本文件成为可能,UNIX/LINUX中还有awk、sed、shell(grep)可以选择,而windows平台不提供高效的处理程序。

6.测试引申

整个处理时间:3秒,还有误差,有兴趣的同学可以自己实验将输入数据量提高到1GB,这样测试样本处理时间的准确率更高。

[ 本帖最后由 shangyilong 于 2009-9-15 11:10 编辑 ]

论坛徽章:
0
19 [报告]
发表于 2009-09-18 21:04 |只看该作者
什么快不快的,围观楼主就是了。

论坛徽章:
0
18 [报告]
发表于 2009-09-18 10:25 |只看该作者
效率有两种  开发效率 和 执行效率  
我从没质疑过perl的开发效率 但是执行效率perl确实不如c 要不也不会有那么多xs的模块

楼主你描述的测试结果都是在说 perl的执行效率比c快 你又提到 perl处理远东字符执行效率比c好  
可是 perl的字符处理用的就是c  你怎么解释?

其实你应该在标题上写清: 结果是针对您老人家自己的
您老人家写的perl比您老人家写的c快

[ 本帖最后由 hitsubunnu 于 2009-9-18 10:27 编辑 ]

论坛徽章:
0
17 [报告]
发表于 2009-09-18 09:50 |只看该作者
原帖由 smileyg 于 2009-9-15 18:55 发表
c可以块读取阿。不是比这个更快么


C和C++都没有正则表达式吧?!

论坛徽章:
0
16 [报告]
发表于 2009-09-18 08:53 |只看该作者

回复 #14 DQP 的帖子

如果perl效率低,那Larry Wall就是智商低了。

论坛徽章:
0
15 [报告]
发表于 2009-09-17 11:43 |只看该作者
围观ing

LZ写C写了13年,居然认识到c还有默认打开文件方式,还认为perl文本处理效率(非开发效率)优化得比C好。

论坛徽章:
0
14 [报告]
发表于 2009-09-15 18:55 |只看该作者
c可以块读取阿。不是比这个更快么

论坛徽章:
0
13 [报告]
发表于 2009-09-15 12:26 |只看该作者
原帖由 shangyilong 于 2009-9-15 09:07 发表
1.perl使用C语言开发,你不信可以去问Larry Wall

是我没说清楚, 不好意思。 perl当然是c写的.   
我的意思是说
a.perl使用C语言开发,保持C语言的高效性。

这句话的因果关系不成立.

论坛徽章:
0
12 [报告]
发表于 2009-09-15 12:12 |只看该作者
不跟你扯没用的 你自己好好看看

perl处理 语言字符的Encode 用的就是  xs 写的

http://cpansearch.perl.org/src/DANKOGAI/Encode-2.37/Encode.xs

你确说 perl比c 快  不知所云

[ 本帖最后由 hitsubunnu 于 2009-9-15 12:29 编辑 ]

论坛徽章:
0
11 [报告]
发表于 2009-09-15 11:43 |只看该作者

回复 #11 hitsubunnu 的帖子

那好,你就用钢管切肉吧!

[ 本帖最后由 shangyilong 于 2009-9-18 08:51 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-09-15 11:35 |只看该作者
原帖由 shangyilong 于 2009-9-15 11:16 发表
C语言对远东语言支持不如perl语言。


如果说C是钢材的话  perl是匕首  你要是是牛x的话可以用C做成枪去杀人 你要是水平不行就还是拿刀吧

但是你最好不要 去讽刺那些能做枪的  不服你把这个帖子发到 C版 试试

[ 本帖最后由 hitsubunnu 于 2009-9-15 11:40 编辑 ]
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP