我也是孤陋寡闻,昨天刚刚知道一个项目叫 Pyston,这是一个基于 cpython 的 jit 替代项目,目前仅能做到比 python3.8 快 20%,但是胜在完美兼容性。
想起来昨天看到一个观点,有个人说开发效率和运行效率并非矛盾,他以 pypy 为例,解释为什么 pypy 可以实现 jit 而 cpython 不能,主要还是因为 python 的开发效率和 c 的工作量问题。
发散性思维想到,也许未来一段时间,比如两三年内,会有加入 jit 特性的 cpython 解释器可用,这样也许 python 这门语言在 jit 这个问题上已经找到了终极解决方案。那么剩下的广为诟病的运行效率问题似乎只剩下全局解释锁的问题。
众所周知 python 当初据传是 1.5 版本,确实有过非 GIL 设计的解释器,据称当时结果是细粒度锁,以及 cache miss 会导致执行效率直接腰斩,而且似乎不可避免。那么 Java 等语言当初是如何处理细粒度锁的问题的呢?是否意味着世界上存在一种版本的 java,会比现行版本运行速度高一倍?