slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
Python 3.13 beta 版功能冻结:推出可禁用GIL、自由线程、实验性 JIT 编译器等
17611538698
webmaster@21cto.com

Python 3.13 beta 版功能冻结:推出可禁用GIL、自由线程、实验性 JIT 编译器等

编程语言 0 1345 2024-05-12 07:37:08

图片

导读:


Python 3.13 beta 1 已经发布,此版本具有甚为重要的新功能,包括禁用全局解释器锁 (GIL) 以实现自由线程的选项,以及实验性即时编译器。这两者都可以提高性能。Beta 版的出现也意味着 3.13 的功能冻结。


当前编程语言排行

Redmonk 编程语言排行榜大概是业界最科学的语言排名。它将 Python 列为仅次于 JavaScript 的流行度第二名,因为其与人工智能和机器学习的紧密关联,其使用量不断增加。

尽管 CPython 解释器的速度相对较慢,但其结果是性能成为最近版本的焦点。

图片

我们来看 2024年4月编程语言排行榜单之前20名:

1 JavaScript
2 Python
3 Java
4 PHP
5 C#
6 TypeScript
6 CSS
8 C++
9 Ruby
10 C
11 Swift
12 Go
12 R
14 Shell
14 Objective-C
16 Scala
17 Kotlin
18 PowerShell
19 Rust
20 Dart

基于开发者的理性与客观洞察,此榜单的确是公正且合理的。图片

Python3.13 新特性介绍

版本 3.13 包括发行说明中所说的“基础版 JIT 编译器”,目前默认情况下处于禁用状态。

引用针对此功能的 PEP(Python 增强提案)的解释,这一特性是“与 CPython 传统上执行 Python 代码方式特别重大的背离”。

Python 目前编译为字节码,在运行时解释执行。

Python 3.12 已经包含将指令分解为更小的微操作,然后对其代码进行优化,但这样做的开销目前超过了性能优势,因此暂时被禁用。 

JIT 编译器则更进一步,对优化的微操作进行静态编译,目的是克服瓶颈并提高性能。在满足几个标准之前,它也暂不会启用,包括至少 5% 的性能改进、对部署的干扰最小以及得到 Python 指导委员会的批准。此外,目前它还可能存在安全隐患,另一个缺点是运行时会使用更多内存。

如果默认情况下禁用该功能,为什么新版本要包含该功能呢?目前“JIT 的速度大约与现有的专业解释器一样快”,尚未实现 5% 的性能提升目标;但即便如此,该功能的作者表示,这也是“一项重大成就,这也是该方法被认为足够可行,可以合并到 main 中以进行进一步开发的主因。”

许多改进已经在进行中,它们是Python未来性能提升的初步胜利。

Python 3.13 中的另一个关键实验是使 GIL 成为可选项,从而消除并发的主要障碍。根据 PEP 的说法,“缺乏并发性往往是比 Python 代码执行速度更大的问题。”另一个优点是 Python 代码将能够更好地表达并行性,这对于使代码更易于维护具有重要意义,并将改进 Python 作为学习编程语言的优势地位。

3.13 版中还有一些功能,包括新的交互式 Shell,它对提示字符进行着色、具有历史记录保存的多行编辑以及使用 F1 键帮助浏览等。

以上一些特性适用于类 Unix 系统,例如 macOS 、FreeBSD和 Linux。 

第三方支持

Apple 的 iOS平台,现在将成为 Python 支持的平台,但仅限于第 3 层(三个级别的编码支持),并且不包括控制台或交互式使用。

新版本和注意事项

Python 3.13中没有新的模块,但是很多模块都有进行改进。一些模块也将被弃用,等待版本 3.14、3.15 或 3.16 中被删除。

Python 3.13的发布计划,包括四个测试版本和两个候选版本,最终版本定于 2024 年 10 月上旬发布。尽管功能已经冻结,但发布经理 Thomas Wouters表示“功能可能也会被修改,或者在极少数情况下,删除直到发布候选阶段开始。”

这一阶段定于七月底进行。是的,Python在越来越好。

评论