V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LeeReamond
V2EX  ›  问与答

话说有关 Python 解释器的 GIL 问题, Java 等语言是如何跨过细粒度锁的坑的?

  •  
  •   LeeReamond · 2021-01-27 01:47:30 +08:00 · 458 次点击
    这是一个创建于 1184 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我也是孤陋寡闻,昨天刚刚知道一个项目叫 Pyston,这是一个基于 cpython 的 jit 替代项目,目前仅能做到比 python3.8 快 20%,但是胜在完美兼容性。

    想起来昨天看到一个观点,有个人说开发效率和运行效率并非矛盾,他以 pypy 为例,解释为什么 pypy 可以实现 jit 而 cpython 不能,主要还是因为 python 的开发效率和 c 的工作量问题。

    发散性思维想到,也许未来一段时间,比如两三年内,会有加入 jit 特性的 cpython 解释器可用,这样也许 python 这门语言在 jit 这个问题上已经找到了终极解决方案。那么剩下的广为诟病的运行效率问题似乎只剩下全局解释锁的问题。

    众所周知 python 当初据传是 1.5 版本,确实有过非 GIL 设计的解释器,据称当时结果是细粒度锁,以及 cache miss 会导致执行效率直接腰斩,而且似乎不可避免。那么 Java 等语言当初是如何处理细粒度锁的问题的呢?是否意味着世界上存在一种版本的 java,会比现行版本运行速度高一倍?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3272 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:45 · PVG 21:45 · LAX 06:45 · JFK 09:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.