再测python3.13a —— python3.13是否移除了GIL的限制(续)

前文:


相关资料:




再次编译python3.13a 版本。


依赖环境安装:

见:

https://www.cnblogs.com/devilmaycry812839668/p/17604336.html


给出完整的依赖安装:

sudo apt install gcc
sudo apt install make
sudo apt install openssl
sudo apt install libssl-dev
sudo apt install libffi-dev
sudo apt install zlib1g-dev
sudo apt install build-essential
sudo apt install gcc g++ libffi-dev build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

修改配置命令(开启gil的移除功能的编译):


正确配置命令:

./configure --prefix=/home/devil/python3.13a --disable-gil


完整的配置命令:(具体安装路径需要自己修改)

./configure --prefix=/home/devil/python3.13a --disable-gil
make
make test
sudo make install

测试代码:

import threading
import time
def print_time( threadName, delay):
s = 0
for i in range(10000000):
s+=i
print(threadName, s)
p1=threading.Thread( target=print_time, args=("Thread-1", 4, ) )
p2=threading.Thread( target=print_time, args=("Thread-2", 4, ) )
p3=threading.Thread( target=print_time, args=("Thread-3", 4, ) )
p4=threading.Thread( target=print_time, args=("Thread-4", 4, ) )
p5=threading.Thread( target=print_time, args=("Thread-5", 4, ) )
p6=threading.Thread( target=print_time, args=("Thread-6", 4, ) )
p7=threading.Thread( target=print_time, args=("Thread-7", 4, ) )
p8=threading.Thread( target=print_time, args=("Thread-8", 4, ) )
a = time.time()
p1.start()
p2.start()
p3.start()
p4.start()
p5.start()
p6.start()
p7.start()
p8.start()
p1.join()
p2.join()
p3.join()
p4.join()
p5.join()
p6.join()
p7.join()
p8.join()
print(time.time()-a)

运行情况:

image


很不幸,这说明这个编译后的python依旧不支持 no-gil,具体原因未知,或许是这个本身3.13a+版本就不支持呢,但是GitHub上的讨论又都说可以,有些搞不清情况,这东西到底是咋弄呢,看来这次尝鲜再次失败,静等官方正式推出python3.13后再看吧,3.12已经推出了,估计3.13真的不远了。



posted on   Angry_Panda  阅读(459)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2023-02-05 面向特定领域的机器翻译时是否应该使用特定的翻译器
2023-02-05 为什么被要求避免使用orcid
2017-02-05 标准遗传算法(二进制编码 python实现)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示