Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SOT Python3.13 支持任务汇总 #69245

Open
GoldenStain opened this issue Nov 8, 2024 · 0 comments
Open

SOT Python3.13 支持任务汇总 #69245

GoldenStain opened this issue Nov 8, 2024 · 0 comments
Assignees
Labels

Comments

@GoldenStain
Copy link
Contributor

GoldenStain commented Nov 8, 2024

背景

SOT 新版本适配时间到~又到了一年一度的 Python 新版本适配时间(虽然实际上是两年好几度),如今 Python 3.13 已经发布,我们自然也是需要对 Python 3.13 进行适配了。

SOT 版本适配的相关背景已经在 #61173 中有所提及,这里就不再赘述一遍了。

不过值得注意的一点是,根据现在对于 EvalFrame 的适配工作难度来看,Python 3.13 的适配难度比预想的要低一些,大概和 Python 3.12 相当。因为 Python 3.13 中的 JIT、free-threading 都还是实验性功能,SOT 整体适配工作量不大。free-threading 作为单独的可执行文件,会作为额外专项进行适配,而且目前来看,对 SOT 影响不大,真正有影响的是框架其它 pybind 层的 API 变动(需要保证线程安全,避免数据竞争)。

Eval Frame 适配

字节码适配

字节码适配任务即对新版本新增、修改的字节码进行适配,根据 Python 3.13 字节码变更Python 各版本字节码差异表格,变动和新增字节码如下:

行为变动

序号 字节码名称 认领人 PR
1 RESUME
2 MAKE_FUNCTION

新增

序号 字节码名称 认领人 PR
1 TO_BOOL
2 CALL_KW
3 SET_FUNCTION_ATTRIBUTE
4 CONVERT_VALUE
5 FORMAT_SIMPLE
6 FORMAT_WITH_SPEC

其它模块适配

TODO...

单测汇总见 #69246

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants