(免责声明:本例并不一定典型,请勿上纲上线)
写了个简单的代码想比较下哪个解释器的多线程执行效率比较高……代码如下:
'''
Created on Dec 13, 2012
@author: festony
'''
import random
import threading
from cj_lib import *
def test(repeat):
for i in range(repeat):
random.random()
@rec_proc_time('single thread')
def run_test_1():
test(5000000)
@rec_proc_time('multi thread - threading')
def run_test_2():
ths = []
for i in range(10):
ths.append(threading.Thread(target=test,args=(500000,)))
for i in range(10):
ths[i].start()
for i in range(10):
ths[i].join()
run_test_1()
run_test_2()
分别使用Cpython, Jython和IronPython解释执行,结果如下:
CPython:
Function {single thread} process time: 0.74492 sec(s)
Function {multi thread - threading} process