免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 兰花仙子
打印 上一主题 下一主题

较之Perl - Python的语法真奇怪 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
61 [报告]
发表于 2007-01-22 14:18 |只看该作者
原帖由 兰花仙子 于 2007-1-22 14:14 发表



有人说Python更慢点...
引入模块慢,那是模块的问题..例如处理WEB请求,用Apache::Request肯定就比CGI.pm快.
写了2个小脚本,用time运行测试了下,速度几乎差不多.

$ cat t1.pl
#!/usr/bin/perl

$i=0; ...

仙子,100 次太少了吧?
还不够 CPU 正眼瞄一下呢。

论坛徽章:
0
62 [报告]
发表于 2007-01-22 14:19 |只看该作者
多谢几位解惑, java,python等其他我没学习, 学习Perl之前看过一点C语言,觉得Perl虽然使用很方便, 但比C还是差不少, 发现Perl本身并不是很慢, 而是被模块给拖慢的。
==============================
哦, 仙子的回复使我明白了。

[ 本帖最后由 路小佳 于 2007-1-22 14:21 编辑 ]

论坛徽章:
0
63 [报告]
发表于 2007-01-22 14:59 |只看该作者
time ./1.py

real    0m19.816s
user    0m19.813s
sys     0m0.005s


time ./1.pl

real    0m2.021s
user    0m2.020s
sys     0m0.001s


1.pl


  1. #!/usr/bin/perl
  2. $i=0;
  3. while ($i<10000000) {
  4.     $i++;
  5. }
复制代码


1.py

  1. #!/usr/bin/python
  2. i=0
  3. while i<10000000:
  4.     i+=1
复制代码

[ 本帖最后由 cx6445 于 2007-1-22 15:01 编辑 ]

论坛徽章:
0
64 [报告]
发表于 2007-01-22 15:00 |只看该作者
原帖由 cx6445 于 2007-1-22 14:59 发表
time ./1.py

real    0m19.816s
user    0m19.813s
sys     0m0.005s


time ./1.pl

real    0m2.021s
user    0m2.020s
sys     0m0.001s


那是print的cache问题,你多运行几次,取个平均值看看..

论坛徽章:
0
65 [报告]
发表于 2007-01-22 15:03 |只看该作者
原帖由 兰花仙子 于 2007-1-22 15:00 发表


那是print的cache问题,你多运行几次,取个平均值看看..



我去掉了print,不受系统函数调用引响,只看解释器的速度,你看我上面的贴子,把你的代码各去掉了一行。
注,系统只跑了这一个脚本,并无其它程序同时运行。

[ 本帖最后由 cx6445 于 2007-1-22 15:04 编辑 ]

论坛徽章:
0
66 [报告]
发表于 2007-01-22 15:06 |只看该作者
这个测试还是比较简单的。
完备的测试应该包括, 数学运算(算PI值), 字符串处理(正则), 文件读取, 数组和hash的效率。各个内容分别测一遍, 不过在这些方面Perl应该略胜的。

论坛徽章:
0
67 [报告]
发表于 2007-01-22 15:07 |只看该作者
[root@ ~]# time ./1.py

real    0m6.929s
user    0m6.924s
sys     0m0.006s
[root@ ~]# time ./1.py

real    0m7.005s
user    0m7.002s
sys     0m0.004s
[root@ ~]# time ./1.py

real    0m7.074s
user    0m7.068s
sys     0m0.007s
[root@ ~]# time ./1.pl

real    0m2.023s
user    0m2.021s
sys     0m0.002s
[root@ ~]# time ./1.pl

real    0m2.043s
user    0m2.042s
sys     0m0.002s
[root@ ~]# time ./1.pl

real    0m2.026s
user    0m2.022s
sys     0m0.004s

为了公平,各运行了三次

没那闲工夫测这么多,偶纯属玩一下。

论坛徽章:
0
68 [报告]
发表于 2007-01-22 15:07 |只看该作者
原帖由 cx6445 于 2007-1-22 15:03 发表



我去掉了print,不受系统函数调用引响,只看解释器的速度,你看我上面的贴子,把你的代码各去掉了一行。
注,系统只跑了这一个脚本,并无其它程序同时运行。


那说明Perl还是快不少,

论坛徽章:
0
69 [报告]
发表于 2007-01-22 15:38 |只看该作者
原帖由 福瑞哈哥 于 2007-1-20 17:45 发表
玩python的要么是中规中矩的产业工人要么是非IT专业人士。玩perl的是看透人生的嬉皮士。


不知道这位兄台有没有读过《The Art Of Unix Programming》?
安啦~其实Python没有那么浓的商业背景,是个很好玩的东西:)。

论坛徽章:
0
70 [报告]
发表于 2007-01-22 15:47 |只看该作者
原帖由 March.Liu 于 2007-1-22 15:38 发表


不知道这位兄台有没有读过《The Art Of Unix Programming》?
安啦~其实Python没有那么浓的商业背景,是个很好玩的东西:)。

想知道python用在哪,到www.python.org的成功案例去看看就行了呗。
nasa和google,还有esri都用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP