×

文章
2025.01.14

Python 3.13 免费线程,脚本能上、接口先别

1 分钟读完 1229 次阅读 Python Python 3.13 并发

3.13 可以关掉 GIL。我拿农历批量回算试过,CPU 能吃满几核。放到给小程序用的接口上,我还是没开。

脚本和接口不是一回事

离线任务没有连接池、没有扩展假设「同一时刻只有一个线程碰这块内存」。免费线程把这些假设撕开。NumPy、部分 MySQL 驱动要核对有没有官方说明。

python -X gil=0 batch_solar.py
# 看加速比,也看结果是不是仍和单线程一致

我的回算脚本加速大约 2.4 倍(四核,不是四倍)。校验用同一批出生时间,逐条对节气和真太阳时。

接口为什么不动

  • uwsgi / gunicorn worker 模型已经靠进程隔离,收益不明显。
  • C 扩展一出问题就是偶发脏数据,比慢更难查。
  • 排盘接口流量吃得住,没有必要换执行模型。

新运行时先给批处理。对用户的路径,稳比快优先。