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

2021-01-27 01:47:30 +08:00
 LeeReamond

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

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

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

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

460 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/748732

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX