python 多线程 - Cpython, Jython 和 IronPython的多线程性能初步比较

这篇博客通过一个简单的多线程代码示例,对比了CPython、Jython和IronPython在执行效率上的差异。结果显示,CPython表现出较高的性能。在调整测试函数的重复次数后,性能差距更加明显。作者推测可能的原因是不同解释器的random实现方法不一致,并计划尝试更换测试函数以进一步探究。
摘要由CSDN通过智能技术生成

(免责声明:本例并不一定典型,请勿上纲上线)

写了个简单的代码想比较下哪个解释器的多线程执行效率比较高……代码如下:

 

'''
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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值