V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
SearchDream
V2EX  ›  Python

Making the GIL Optional in CPython

  •  
  •   SearchDream · 2023-07-29 11:42:40 +08:00 · 2025 次点击
    这是一个创建于 512 天前的主题,其中的信息可能已经有所发展或是发生改变。
    14 条回复    2023-08-02 02:44:55 +08:00
    ClericPy
        1
    ClericPy  
       2023-07-29 12:43:16 +08:00
    希望人机接口简单点. 话说很多局部变量的纯函数确实不会读写外部环境资源, 没必要申请 GIL, 给个装饰器啥的也行, 不过貌似实现起来挺麻烦

    之前期待的子解释器现在感觉也用不大着了, 也足够我多数场景使用了, 千万别再出现帖子里说的未来十年向后兼容版本之争就好, 那些年 python2 和 3 都快成工业笑话了...
    SearchDream
        2
    SearchDream  
    OP
       2023-07-29 12:52:34 +08:00 via iPhone
    @ClericPy 应该不会再有 2 到 3 的兼容性问题了,毕竟过了 20 年才大致完成这次迁移。
    echo1937
        3
    echo1937  
       2023-07-29 12:55:22 +08:00
    [PEP 703 即将被正式接受,移除 GIL 的这一天竟然真的要来了?] https://www.bilibili.com/video/BV1ph4y1c7ue/


    op 真迅速,这有个解读也很快。
    ClericPy
        4
    ClericPy  
       2023-07-29 13:06:18 +08:00
    @SearchDream 帖子里也提了不会出现, 我日常其实也就需要让纯函数这种场景利用下多核就行了, 静态提速 mypyc 还没体验有多快, 现在的 python 只要不倒退就已经很不错了

    用久了 python 再用其他语言, 感觉各种非现代设计...
    BBCCBB
        5
    BBCCBB  
       2023-07-29 13:08:05 +08:00   ❤️ 1
    去 GIL + 后续的 jit, 可以的.. 别在一直鼓捣破语法了.. 搞一些不痛不痒的语法.. 这么多年一个多行 lambda 也没搞出来 还不如先优化底层, 提升性能, 解决使用过程中的痛点.
    SearchDream
        6
    SearchDream  
    OP
       2023-07-29 13:29:47 +08:00 via iPhone
    @ClericPy 哈哈,我也觉得 Python 用的最舒服。
    joApioVVx4M4X6Rf
        7
    joApioVVx4M4X6Rf  
       2023-07-29 14:15:08 +08:00
    @ClericPy 哈哈,我也觉得 Python 用的最舒服。
    ddddd0
        8
    ddddd0  
       2023-07-29 15:19:44 +08:00 via Android
    这样不用到处异步了
    statumer
        9
    statumer  
       2023-07-30 13:08:37 +08:00 via iPhone
    我不希望这个 feature 落地,去掉 gil 会使得单线程性能损失 10%以上,还会影响兼容性。2023 年才优化多线程太尴尬了,单线程异步才是趋势。
    009694
        10
    009694  
       2023-07-30 13:13:36 +08:00 via iPhone
    这纯粹的分裂 python 社区啊。。 一堆 c 扩展全废。这兼容性问题比 2-3 还大,甚至开发者还得同时维护带 gil 和不带 gil 版本的 c 扩展。
    raycool
        11
    raycool  
       2023-07-31 09:23:53 +08:00
    @009694 这一步早晚要踏出去吧。
    wipbssl
        12
    wipbssl  
       2023-07-31 11:20:16 +08:00
    话说当初 python2 升级 python3 时造成那么多 breaking change ,为什么不在那时候去掉 GIL 呢?
    junkun
        13
    junkun  
       2023-08-02 00:06:52 +08:00
    @wipbssl 技术达不到或者没钱,就和为什么不做 JIT 一样。虽然大家都在骂 GIL ,但这个东西大多数时候其实性能是更好的,只是拖累了多线程计算性能。我记得没错的话当初这个 no GIL 平均还是比 cpython 略慢的。
    wizardyhnr
        14
    wizardyhnr  
       2023-08-02 02:44:55 +08:00
    想要 nogil 和不想要 nogil 的都很多。Python 现在的火爆是机器学习社区带起来的,nogil 也是机器学习推动的,不走这一步,分裂的分支也会出现的,只是不会由 Python 社区主导。mojo 前面出个概念很多人就很激动了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1402 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:50 · PVG 00:50 · LAX 08:50 · JFK 11:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.