免费注册 查看新帖 |

Chinaunix

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

perl为什么会比awk慢?(已解决) [复制链接]

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-23 10:24 |只看该作者 |正序浏览
一个很简单的文本处理:
每条记录都是以||分割的,判断它的第9个域是“ 0300530002 ”,就输出到一个新的文件。
写了个脚本,测试perl和awk的速度:
#!/bin/sh
echo "perl start"
echo $(date "+%F %T")
perl -F'\|\|' -ane 'print if $F[8] == " 0300530002 "' file1 > tmp1
echo "perl end"
echo $(date "+%F %T")

echo "awk start"
echo $(date "+%F %T")
awk -F'\\|\\|' '$9==" 0300530002 "' file1 > tmp2
echo "awk end"
echo $(date "+%F %T")

结果如下:
perl start
2008-01-22 18:57:07
perl end
2008-01-22 19:33:40
awk start
2008-01-22 19:33:40
awk end
2008-01-22 19:51:40

整整慢了一倍,为什么会这样呢?

[ 本帖最后由 ly5066113 于 2008-1-24 11:25 编辑 ]

论坛徽章:
0
30 [报告]
发表于 2008-01-28 10:21 |只看该作者
原帖由 flw 于 2008-1-24 13:46 发表

呵呵,就是它了。定价 169,很厚的一本。前几天在城铁上见有个哥们抱着一本在看,很想上去打个招呼,却又觉得唐突,就放弃了。



估计你看到的是我一个同事,呵呵。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
29 [报告]
发表于 2008-01-28 10:08 |只看该作者
原帖由 sotol 于 2008-1-28 09:33 发表
老大说的是Learning Perl,Advanced Perl Programming,Programming Perl,这三本吗?

对。

论坛徽章:
0
28 [报告]
发表于 2008-01-28 09:33 |只看该作者

回复 #20 flw 的帖子

老大说的是Learning Perl,Advanced Perl Programming,Programming Perl,这三本吗?

论坛徽章:
0
27 [报告]
发表于 2008-01-27 15:59 |只看该作者
原帖由 flw 于 2008-1-24 13:46 发表

呵呵,就是它了。定价 169,很厚的一本。前几天在城铁上见有个哥们抱着一本在看,很想上去打个招呼,却又觉得唐突,就放弃了。


04年在china-pub上碰到打折,买了一本,呵呵,看来赚到不少的哦

[4815]  Perl语言编程   ¥129.00   ¥61.92 1  北京邮寄 特价书 发货

论坛徽章:
0
26 [报告]
发表于 2008-01-24 23:01 |只看该作者
good

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
25 [报告]
发表于 2008-01-24 17:07 |只看该作者
原帖由 zhuomingliang 于 2008-1-24 16:29 发表

大骆驼里面一下东西,只是简单用几个字的提一下,比如使用 $subref = \&name 来获取一个命名子过程的引用,整本书我就看到一个地方提了一下,让人很容易忽略其重要性啊。
如果不是无聊到去看exporter.pm , ...

刚看了下,我觉得大骆驼里面关于引用(\),说的很清楚。

[ 本帖最后由 flw 于 2008-1-24 17:10 编辑 ]

论坛徽章:
0
24 [报告]
发表于 2008-01-24 16:29 |只看该作者
原帖由 flw 于 2008-1-24 13:47 发表
其实我觉得治学态度比较严谨的人,如果状态好的话,直接看大骆驼,也挺好。虽然难了一些,但不会造成很多错误的理解。


大骆驼里面一下东西,只是简单用几个字的提一下,比如使用 $subref = \&name 来获取一个命名子过程的引用,整本书我就看到一个地方提了一下,让人很容易忽略其重要性啊。
如果不是无聊到去看exporter.pm ,到现在也不知道是啥东西

[ 本帖最后由 zhuomingliang 于 2008-1-24 16:30 编辑 ]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
23 [报告]
发表于 2008-01-24 13:47 |只看该作者
其实我觉得治学态度比较严谨的人,如果状态好的话,直接看大骆驼,也挺好。虽然难了一些,但不会造成很多错误的理解。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
22 [报告]
发表于 2008-01-24 13:46 |只看该作者
原帖由 ly5066113 于 2008-1-24 13:40 发表

晕死,原来《Perl 语言编程》就是大骆驼。
我看的perl的第一个文档就是它,看了前面几章,感觉云里雾里的就没在看,看的《Perl 學習手札》,最近在看小骆驼。
再次感谢老大,俺一定会把《Perl 语言编程》 ...

呵呵,就是它了。定价 169,很厚的一本。前几天在城铁上见有个哥们抱着一本在看,很想上去打个招呼,却又觉得唐突,就放弃了。
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP