Python 3.13 距離解除 GIL 封印又更近一步了!

Python 3.13 預計加入 1 項稱為 “free-threaded” 的實驗功能,這項功能可以將 global interpreter lock (GIL) 限制解除,讓 Python 多執行緒能夠更有效率地使用多核心 CPU 的多核運算能力,從而釋放更多 Python 效能!

p.s. 如果你的 CPU 是 1 core CPU, 那解除 GIL 也無法帶來什麼效益⋯⋯

不過 “free-threaded” 仍處於實驗階段,預設不會有 “free-threaded” 可以使用,必須在編譯 Python 3.13 時加入編譯參數 --disable-gil 才能將此功能啟用。

編譯成功之後也還是可以透過環境變數 PYTHON_GIL 或參數 -X gil 啟用 GIL ,設定值 1 代表使用 GIL, 反之則為 0 。

如果想在 Python 程式中檢查 GIL 是否已經被停用的話,可以使用以下 Python 程式碼檢查:

sysconfig.get_config_var("Py_GIL_DISABLED")

回傳值若為 None 則代表你的 Python 版本不支援 “free-threaded” 。

References

Free-threaded CPython

Facebook Threads X

對抗久坐職業傷害

研究指出每天增加 2 小時坐著的時間,會增加大腸癌、心臟疾病、肺癌的風險,也造成肩頸、腰背疼痛等常見問題。

然而對抗這些問題,卻只需要工作時定期休息跟伸展身體即可!

你想輕鬆改變現狀嗎?試試看我們的 PomodoRoll 番茄鐘吧! PomodoRoll 番茄鐘會根據你所設定的專注時間,定期建議你 1 項辦公族適用的伸展運動,幫助你打敗久坐所帶來的傷害!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!