程序内对数据运算处理的速度,不设计数据库和文件操作。纯处理速度。
yahoo21cn 回复于:2006-04-15 16:47:05
奇怪,整数运算python比php慢一倍,大家看看是不是我写的有问题,初学python,有可能是我些错了造成的。
php:
<?
$n=1;
$time=time();
while($n<100000000){
$n=$n+1;
}
echo time();
echo "<br>";
echo $time;
echo "<br>";
echo time()-$time;
?>
python:
# -*- coding:gbk -*-
import time
n=1
time_start=time.clock()
while n<100000000:
n=n+1
time_end=time.clock()
print time_end-time_start
php用时25秒,python是50秒。
loveddie 回复于:2006-04-15 20:21:29
:em16: 比较似乎意义不大.
import time
class timer:
def __init__(self):
self.start= time.time()
def stop(self):
self.end= time.time()
return "with %f seconds"% (self.end-self.start)
clock=timer()
n=1
while n<100000000:
n+=1
print clock.stop()
print n
with 31.234000 seconds
100000000
#include <stdio.h>
#include <time.h>
void main()
{
clock_t start,end;
start=clock();
long int n=0;
while(n<100000000)
n+=1;
end=clock();
printf("with %f seconds\n",(double)(end-start)/CLK_TCK);
printf("%ld\n",n);
}
with 0.421000 seconds
100000000
嘿嘿,php还是没C快吧. 尽管python......,:D 还是喜欢python.
yahoo21cn 回复于:2006-04-15 22:12:30
有必要学c了
mcyclone 回复于:2006-05-17 16:17:50
写出来的代码很简洁呢 关注一下
bleem1998 回复于:2006-05-17 17:16:19
python慢的出奇
在差一点的CPU上尤其明显
星尘细雨 回复于:2006-05-17 17:42:47
你是哪个版本的python?
在什么系统上运行的?
bleem1998 回复于:2006-05-17 18:12:02
引用:原帖由 星尘细雨 于 2006-5-17 17:42 发表
你是哪个版本的python?
在什么系统上运行的?
python2.4
在ARM9的CPU上
很早以前的事
现在没环境干这种坏事了
newbuding 回复于:2006-05-17 22:41:56
python还可以做一些优化啊,比方说预编译成.pyc文件
还有就是现在的计算机,速度基本上已经不是什么问题,主要是看你的算法是否恰当合理
推荐楼主看看《一切从游戏开始》这篇文章
星尘细雨 回复于:2006-05-18 10:02:31
引用:原帖由 bleem1998 于 2006-5-17 18:12 发表
python2.4
在ARM9的CPU上
很早以前的事
现在没环境干这种坏事了
哦,在linux上python运行的比windows的快。
tigerpower 回复于:2006-05-18 19:42:45
python慢是出了名的,肯定比perl慢,但偶还是喜欢用python。
蒸汽 回复于:2006-05-19 10:19:14
我觉得,你把PYTHON里的算时间的写成函数,而C是过程.
2种方式可能会有些速度差距,比较就应该写成一模一样的过程
meud 回复于:2006-06-02 13:18:20
import time
try:
import psyco
psyco.full()
except ImportError:
print 'no mod psyco'
def test():
n = 1
for i in xrange( 100000000 ):
n += 1
start = time.clock()
test()
end = time.clock() - start
print '%.8f' % end
执行结果:0.18338392
大家可以装一下Psyco模块
然后比较一下优化后的结果
meud 回复于:2006-06-02 13:30:24
未优化:9.90517175
使用优化后,速度提高了五十四倍
对于字符串处理速度更是明显,在我的测试中甚至达到了一百倍的加速效果。
以下是字符串操作测试代码:
# -*- coding:UTF-8 -*-
import time
try:
import psyco
psyco.full()
except ImportError:
print 'error'
def test( s ):
t = 0
for i in xrange( len( s ) ):
if s == 'a':
t += 1
return t
s = '中华人民共和国a中华人民共和国' * 1024
test( s )
start = time.clock()
for i in xrange( 1000 ):
e = test( s )
end = time.clock()
print e, 'time:%.6f' % ( end - start ), 'speed:%.6f M/s' % ( len( s )*1000/( end - start )/1024/1024 )
baif 回复于:2006-06-02 15:18:26
[CODE] Psyco is a Python extension module which can massively speed up the execution of any Python code. [/CODE]
ipaddr 回复于:2006-06-08 14:55:48
PHP也有ZEND可以优化.
lzhome 回复于:2006-06-08 16:17:44
psyco !强啊!我应用到我的程序里速度果然成倍提高!meud,拜你!
fxsjy 回复于:2006-06-11 11:41:20
为什么在自己的PC上优化很明显,可是在服务器上用psyco后,速度反而下降了?
服务器2个cpu,1G内存。是不是硬件体系结构不同造成的啊?
newbuding 回复于:2006-06-11 21:20:06
你在服务器上跑什么应用?
baif 回复于:2006-06-12 16:14:23
引用:原帖由 fxsjy 于 2006-6-11 11:41 发表
为什么在自己的PC上优化很明显,可是在服务器上用psyco后,速度反而下降了?
服务器2个cpu,1G内存。是不是硬件体系结构不同造成的啊?
是如何统计的啊? psyco早已经停止开发了。。。。而且还不支持64-bit的构架
guotie 回复于:2006-06-12 17:26:22
差别的确很大:
php:39
py:85.74
c:可以忽略
ghostwwl 回复于:2006-06-12 19:13:38
不久的将来psyco将被纳入 python的标准库
assiss 回复于:2006-06-13 07:55:24
引用:原帖由 ghostwwl 于 2006-6-12 19:13 发表
不久的将来psyco将被纳入 python的标准库
在哪里看到的?
目前仅支持I386体系的PSYCO,恐怕很难加入到标准库里。
guotie 回复于:2006-06-13 15:35:13
不是说psyco停止开发了么
fxsjy 回复于:2006-06-14 01:22:50
用的程序就是个循环计数,还有一个传输文件的。
Aryang 回复于:2006-06-15 11:08:22
psyco早已经停止开发了??
我去它的主页上看,还有 24 March 2006 的news
guotie 回复于:2006-06-15 11:13:45
各种语言的评测:
http://shootout.alioth.debian.org/sandbox/
综合来看,各语言得分如下:
ratio language score ×
best possible 100.0
1.0 C gcc 69.5 1
1.0 D Digital Mars 69.2
1.2 C++ g++ 56.2 2
1.3 Eiffel SmartEiffel 52.6 2
1.5 SML MLton 46.1 2
1.5 OCaml 45.0 1
1.6 Fortran Intel 44.8 3
1.6 Clean 43.1 7
1.8 Haskell GHC 38.4 1
1.8 Ada 95 GNAT 38.4 1
2.1 C Tiny 32.8 7
2.2 Oberon-2 OO2C 31.4 7
2.2 Pascal Free Pascal 31.3 4
2.3 Lisp SBCL 30.6 4
2.3 Java JDK -server 30.6 1
2.4 Java JDK -client 29.0
2.5 Java GCJ 27.5 3
2.8 Fortran G95 25.0 5
3.1 C# Mono 22.4 1
3.2 Nice 21.4 5
3.4 Dylan Gwydion 20.2 7
3.5 Java JDK 1.4 -server 19.9 7
3.8 C Cyclone 18.3 10
4.4 SML SML/NJ 15.9 10
4.5 Python Psyco 15.5
5.0 Objective-C 14.0 13
5.4 OCaml (bytecode) 13.0 1
6.0 Parrot PIR 11.5 5
6.0 Forth GForth 11.5 1
6.6 Lisp CMUCL 10.6 14
7.9 Lua 8.8
8.7 Python 8.0 1
9.4 Erlang HiPE 7.4 4
9.9 Tcl 7.0 3
11 Oberon-2 XDS 6.2 13
11 Pike 6.1 5
12 Erlang 5.9 4
13 Perl 5.2 4
14 Scheme Chicken 5.0 7
15 Scheme MzScheme 4.6 5
15 Scheme Bigloo 4.6 11
18 Java JDK -Xint 3.9 1
20 Ruby 3.5 2
22 S-Lang 3.1 8
24 Smalltalk GST 2.9 2
26 Icon 2.7 8
29 PHP 2.4 8
40 Python IronPython 1.7 6
54 Mozart/Oz 1.3 6
130 Io 0.5 12
189 JavaScript SpiderMonkey 0.4 9
223 Rexx Regina 0.3 12
435 Lisp Newlisp 0.2 16
Java SableVM 0.0 17
newbuding 回复于:2006-06-16 08:02:25
这分怎么算的?都很低啊?
newbuding 回复于:2006-06-16 08:04:00
ratio language score ×
best possible 300.0
1.0 C gcc 166.1 1
1.1 D Digital Mars 156.6
1.2 Haskell GHC 136.3 1
1.2 OCaml 135.1 1
1.3 C++ g++ 130.0 2
1.3 SML MLton 125.7 2
1.4 Pascal Free Pascal 118.8 4
1.4 Eiffel SmartEiffel 116.5 2
1.7 OCaml (bytecode) 100.0 1
1.7 Forth GForth 99.9 1
1.8 Lua 94.4
1.8 Clean 90.8 7
1.9 Python 87.0 1
1.9 C Tiny 86.0 7
1.9 Fortran Intel 85.8 3
2.0 Ada 95 GNAT 85.2 1
2.0 Fortran G95 83.1 5
2.0 Python Psyco 82.2
2.2 Java JDK -client 77.2
2.2 Java JDK -server 76.4 1
2.2 Tcl 75.1 3
2.3 Ruby 71.1 2
2.4 Perl 70.5 4
2.4 C# Mono 69.8 1
2.4 Lisp SBCL 69.6 4
2.5 Nice 65.6 5
2.6 Java GCJ 64.4 3
2.7 Oberon-2 OO2C 61.1 7
3.0 Pike 55.6 5
3.1 Python IronPython 53.1 6
3.2 Java JDK -Xint 51.6 1
3.3 Dylan Gwydion 50.4 7
3.3 Erlang HiPE 49.9 4
3.3 Java JDK 1.4 -server 49.7 7
3.4 Erlang 48.5 4
3.5 C Cyclone 48.0 10
3.8 Scheme MzScheme 43.2 5
3.9 Smalltalk GST 42.4 2
4.0 S-Lang 41.1 8
4.1 Scheme Chicken 40.8 7
4.1 Icon 40.1 8
4.3 SML SML/NJ 38.8 10
4.5 Objective-C 37.0 13
4.5 JavaScript SpiderMonkey 36.6 9
5.5 PHP 30.4 8
5.7 Rexx Regina 29.2 12
6.1 Scheme Bigloo 27.3 11
6.2 Oberon-2 XDS 26.6 13
6.6 Parrot PIR 25.3 5
7.4 Lisp CMUCL 22.4 14
7.9 Mozart/Oz 21.1 6
14 Lisp Newlisp 11.5 16
43 Io 3.9 12
69 Java SableVM 2.4 17
equalnull 回复于:2006-07-31 19:17:14
还是C牛B!!!
一定要学好才行。
lzhome 回复于:2006-08-01 11:33:07
都看仔细了!前面是语言,后面是编译器! c用gcc,c++用g++,而python居然用.NET平台的ironpython解析,根本没有可比性。如果python用unix下解析,相信分数不会这么低的!
eha 回复于:2006-08-02 10:03:26
引用:原帖由 newbuding 于 2006-5-17 22:41 发表
python还可以做一些优化啊,比方说预编译成.pyc文件
还有就是现在的计算机,速度基本上已经不是什么问题,主要是看你的算法是否恰当合理
推荐楼主看看《一切从游戏开始》这篇文章
《一切从游戏开始》那里有下载的?
|