python3.13t 无GIL版本,全核火力全开。

下载地址:https://www.python.org/downloads/release/python-3130rc3/ 。下载Python 3.13.0rc3 的Windows installer (64-bit)安装程序。

运行安装程序,选择“自定义安装”:

在"Advanced Options"下,确保选择“Download free-threaded binaries(experimental)”选项,然后点击“安装”。

安装完成后,在安装目录下回有一个python3.13t.exe 的程序,这个就是无GIL 自由线程版本的入口。

只有使用 python3.13t.exe 运行py才能无GIl,使用python.exe依然是有GIl版本。


import threading


def f():
    while 1:
        pass

for i in range(16):
    threading.Thread(target=f).start()

代码说明:

f函数是超高速无限懵逼死循环极端消耗cpu。 运行此代码,可以看到16核的机器,所有核心全部100%

这放在以前有gil的python解释器,只有使用 multiprocessing开16进程

multiprocessing.Process(target=f).start()

才能使所有核心的cpu都 100%。

通过linux top命令或者win的进程管理器,与有gil版本的区别非常明显。

弊端说明:

但是这个无gil解释器肯定有弊端,不然早就内置成了标准版本,还需要多此一举用选装 带t的解释器吗?

虽然python3.13t.exe 性能很犀利,但为了保险起见,要先做好测试。

对我来说,吸引力没那么大, python funboost 框架开启多进程很容易,还不破坏代码,还不需要升级python版本。

对于以前要用多核就要开多进程,多进程之间还要用内存通信开发不方便的的人来说,无gil很香。

但是有些情况下,funboost框架就好了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值