python运行效率真的这么低吗?

xghyxx 2011-06-15 03:06:01
以前只听说python运行效率低,但没实际测试过,今天和asp实际对比了一下,代码如下:
python:

import time

print time.localtime()
num=0
while num<10000:
num=num+1
print num
print time.localtime()


asp:

response.Write(time())
num=0
while num<=10000
num=num+1
response.Write(num&"<br />")
wend
response.Write(time())



测试结果如下:
python开始时间:(2011, 6, 15, 14, 29, 6, 2, 166, 0) 结束时间:(2011, 6, 15, 14, 29, 55, 2, 166, 0)
asp开始时间:14:37:35 结束时间:14:37:35

都是10000的循环,asp连1秒都用上,而python竟然用了49秒,这差距也太大了吧!!
如果python真的运行效率这么低,拿他作为主要编程语言还真是个问题。
...全文
2365 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuhuacool 2014-02-20
  • 打赏
  • 举报
回复
刚才做了一个一百万的累加 不过使用的是for循环 一秒做完
风骑士之怒 2011-07-02
  • 打赏
  • 举报
回复
1秒,在IDLE里要慢
aimersong 2011-07-01
  • 打赏
  • 举报
回复
用print 也不要1秒啊。。
wubei7231 2011-06-30
  • 打赏
  • 举报
回复
其实还好吧。现在电脑这么强大。
stein42 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jsjjohn88 的回复:]

在python里面运行大数量循环,最好用xrange()。你可以试试看xrange(100000)就知道什么叫效率了。
[/Quote]

Python里建一个100000个元素的列表要不了一秒。
楼主用的49秒跟这个无关。
xghyxx 2011-06-30
  • 打赏
  • 举报
回复
刚测试了下,确实是print导致的,不用print确实用不了一秒就完成了。谢谢!!
georgema 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jsjjohn88 的回复:]

在python里面运行大数量循环,最好用xrange()。你可以试试看xrange(100000)就知道什么叫效率了。
[/Quote]
此乃正解
iambic 2011-06-21
  • 打赏
  • 举报
回复
这个测试真业余……
已经注册 2011-06-21
  • 打赏
  • 举报
回复
在python里面运行大数量循环,最好用xrange()。你可以试试看xrange(100000)就知道什么叫效率了。
fibbery 2011-06-17
  • 打赏
  • 举报
回复
你这样测试是不公平的。在输出方式上的差异,导致运行时间上差别很大。asp的输出基本是将结果保存到字符串之后一次性在页面输出,而Python的输出则是不断的进行字符界面的IO。
你最好写一个同等功能的C程序在命令行模式下测试,才有可比性。

每种语言都有自己的长处,利用每种语言的长处去解决实际遇到的问题。
o_yale_o 2011-06-16
  • 打赏
  • 举报
回复
py不要print测试结果:

>pythonw -u "a.py"
(2011, 6, 16, 15, 24, 20, 3, 167, 0)
(2011, 6, 16, 15, 24, 20, 3, 167, 0)
>Exit code: 0 Time: 0.454
o_yale_o 2011-06-16
  • 打赏
  • 举报
回复
是I/O耗时间
你这样测试:都不要print,看看如何。。。。
cmg0591 2011-06-16
  • 打赏
  • 举报
回复
复制了你的代码运行结果是秒杀,
不知你的电脑是什么年代的,居然这么强
KAMCHIHAU 2011-06-15
  • 打赏
  • 举报
回复
我想在現實中,這些差別很難感受到的,在正常的商用程序中,要優化的地方不在這裡,
可能要優化的地方在別的
stein42 2011-06-15
  • 打赏
  • 举报
回复
可能是IDLE显示文字太慢了吧,并不是Python运行慢。
在控制台运行就能看出来。
stein42 2011-06-15
  • 打赏
  • 举报
回复
python刚本要不了一秒。
你怎么运行的,那么慢?
angel_su 2011-06-15
  • 打赏
  • 举报
回复
简单测试就别用print这东西嘛...
I_NBFA 2011-06-15
  • 打赏
  • 举报
回复
万次print循环49s,LZ说胡话了,我这1.5s
上帝无言 2011-06-15
  • 打赏
  • 举报
回复
这么比是无意义的。 在十分需要速度的函数上,可以调用C代码。。。。而太不需要速度的地方python编程的速度很快,同样的GUI什么的除了速度,python很快就可以实现了。再者需要速度的并不多,今天的电脑已经很快了,一般的程序运行完全不是问题。
所以python是用来节省人的时间的

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧