TableOfContents
Include(ZPyUGnav)
Py vs Perl 运行
{{{俊杰蔡 <[email protected]> reply-to [email protected], to [email protected], date Thu, Apr 3, 2008 at 5:50 PM subject [CPyUG:45860] }}} [http://groups.google.com/group/python-cn/browse_thread/thread/4e4eb6d67a867c21/8b346859a4c96e29#8b346859a4c96e29 一段python程序的效率问题]
time vs 0.1
attachment:vs-0.1.png
random.pl
use strict;
open (WW,"> 500000") or die "$!";
foreach(1..5000000){
my $i = int(rand 10000000) % 3;
print WW $i."\n";
}
close WW;
random.py
1 import random
2 import time
3
4 __revision__ = '0.1'
5
6 def test():
7 fh = open("test_cjj","w")
8
9 for i in range(5000000):
10 data = random.randrange(1000000,9999999,1)
11 yu = data % 3
12 fh.write(str(yu)+"\n")
13
14 fh.close()
15
16 if __name__ == "__main__" :
17 test()
time vs 0.2
attachment:vs-0.2.png
random0.2.py
1 import cStringIO as StringIO
2
3 import random
4 import time
5
6 __revision__ = '0.2'
7
8 def test():
9 fh = open("test_cjj0.2","w")
10 output = StringIO.StringIO()
11
12 for i in xrange(5000000):
13
14 data = random.randrange(1000000,9999999,1)
15 yu = data % 3
16 print >>output, yu
17
18 fh.write(output.getvalue())
19
20 fh.close()
21
22 if __name__ == "__main__" :
23 test()
time vs 0.3
attachment:vs-0.3.png
random0.3.py
1 import random
2 import time
3
4 __revision__ = '0.3'
5
6 def test():
7 exp = ""
8 for i in xrange(5000000):
9 data = random.randrange(1000000,9999999,1)
10 exp += "%s\n"%(str(data % 3))
11
12 open("test_cjj0.3","w").write(exp)
13 if __name__ == "__main__" :
14 test()
time vs 0.4
attachment:vs-0.4.png
random0.4.py
1 import random
2 __revision__ = '0.4'
3
4 fn = open("test_cjj0.4","w")
5 for i in xrange(5000000):
6 data = random.randrange(1000000,9999999,1)
7 print >> fn, (data % 3)
time vs 0.5
attachment:vs-0.5.png
random0.5.py
1 import cStringIO as StringIO
2 import random
3 __revision__ = '0.5'
4
5
6 out = StringIO.StringIO()
7 for i in xrange(5000000):
8 data = random.randrange(1000000,9999999,1)
9 print >> out, (data % 3)
10
11 open("test_cjj0.5","w").write(out.getvalue())
time vs 0.6
attachment:vs-0.6.png
random0.6.py
1 import random
2 __revision__ = '0.6'
3
4 fn = open("test_cjj0.6","w")
5 for i in xrange(5000000):
6 print >> fn, (random.randrange(1000000,9999999,1))% 3
time vs 0.7
attachment:vs-0.7.png
random0.7.py
1 from random import random
2 __revision__ = '0.7'
3
4 fh = open("test_cjj0.7","w")
5 for i in range(5000000):
6 print >> fh,(int(random()*(9999999-1000000)+1000000))% 3
time vs 0.8
attachment:vs-0.8.png
random0.8.py
1 from random import random
2
3 __revision__ = '0.8'
4
5 def test():
6 fh = open("test_cjj0.8","w")
7 for i in range(5000000):
8 print >> fh,(int(random()*(9999999-1000000)+1000000))% 3
9
10 if __name__ == "__main__" :
11 try:
12 import psyco
13 psyco.full()
14 except ImportError:
15 pass
16 test()
反馈
创建 by -- ZoomQuiet [DateTime(2008-04-03T13:26:48Z)]