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
imes
V2EX  ›  Python

Python 会走向 JIT 吗?从 PHP8 到 Guido van Rossum 入职微软

  •  
  •   imes · 2021-12-06 11:43:00 +08:00 · 5727 次点击
    这是一个创建于 1084 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原先版本的 PHP 使用 Opcache 进行优化提速,后续 PHP8 版本引入了 JIT 使得速度大幅提高,甚至可以和 v8 一较下下(没有高下,至于下下)。Rossum 于 2020 年入职微软,承诺 4 年提升 5 倍 Cpython 的性能。那么问题来了,是不是会有一天,Python 将引入 JIT ,更大胆猜一下,Python4 的发布就是 Python with JIT 版本?

    25 条回复    2021-12-08 10:36:40 +08:00
    HanMeiM
        1
    HanMeiM  
       2021-12-06 11:47:38 +08:00
    jit 其实对 php 开发并没有太大太大的提升(这里特指 web 开发)
    瓶颈还是在网络 IO 的开销上
    nonduality
        2
    nonduality  
       2021-12-06 12:25:31 +08:00   ❤️ 1
    如果 Google 当年搞 V8 将 JS 运行速度来个大飞跃,业界传颂至今;那么,微软要对开源做贡献、让万众铭记的一个办法,我认为是把好用的 Python JIT 做起来。

    我是希望,微软那么有钱(市值那么高),拔一根毛就有很多资金,何不把 Pyston 2 的团队收购过来,让 GvR 带领一起搞 Python JIT 呢?

    Python JIT 是很难搞,但只要有个有钱的好爸爸,一切难题都不再是难题。
    hjc4869
        3
    hjc4869  
       2021-12-06 12:29:36 +08:00 via Android
    wellsc
        4
    wellsc  
       2021-12-06 12:35:20 +08:00 via iPhone   ❤️ 1
    guido 现在是吉祥物了
    BBCCBB
        5
    BBCCBB  
       2021-12-06 12:35:58 +08:00
    @hjc4869 这个应该算是微软里的自愿者做的? 不是官方砸钱支持.
    hjc4869
        6
    hjc4869  
       2021-12-06 12:36:57 +08:00 via Android
    @BBCCBB 是的,现在转成个人 repo 维护了。
    abersheeran
        7
    abersheeran  
       2021-12-06 12:45:32 +08:00   ❤️ 3
    没必要猜。Guido 早就放过话了,先优化 Exception ,再加 JIT ,最后才会有可能考虑 GIL 。后面有个猛人直接整活 NOGIL ,被招安进 Core Developers Team ,所以现在是 NOGIL+零成本 Exception 并行在做。下一步就是 JIT 了。
    nonduality
        8
    nonduality  
       2021-12-06 14:47:46 +08:00
    我知道 Pyjion ,但我不太认可它的技术路线,如今也不是微软官方支持的。
    feiandxs
        9
    feiandxs  
       2021-12-06 16:59:46 +08:00   ❤️ 3
    请看前方记者发回的现场报道:

    https://mp.weixin.qq.com/s/SvUyyUGLZFbqEyERWWJIYQ
    qW7bo2FbzbC0
        10
    qW7bo2FbzbC0  
       2021-12-06 17:22:57 +08:00
    IronPython 呢
    evilStart
        11
    evilStart  
       2021-12-06 19:53:04 +08:00 via Android
    微软做了个 typescript ,已经名扬天下了
    evilStart
        12
    evilStart  
       2021-12-06 19:54:56 +08:00 via Android
    @nonduality 微软做了个 typescript ,已经名扬天下了
    cmdOptionKana
        13
    cmdOptionKana  
       2021-12-06 21:27:34 +08:00
    @evilStart 还做了 vscode ,还收购了 github ,都是开源界的大手笔。
    est
        14
    est  
       2021-12-06 22:04:45 +08:00
    py2.3 就有 JIT 了


    import psyco

    psyco.full()

    代码就免费加速了。
    patrickyoung
        15
    patrickyoung  
       2021-12-06 23:34:21 +08:00
    @est 这名字很有意思,psyco = psycho ...
    kilasuelika
        16
    kilasuelika  
       2021-12-06 23:42:18 +08:00 via Android
    @nonduality 谷歌搞 v8 是因为有现实的需求啊,他自己很大一部分业务就是甚于 web 的。微软搞 Python jit 可以说对自己没啥用,自家已经有 F#,c#, .net ,MSVC 了。
    nonduality
        17
    nonduality  
       2021-12-06 23:42:54 +08:00
    @evilStart ts 没 py 有名,要是微软实现了 py 极大加速,微软的良好形象会进一步提升。
    nonduality
        18
    nonduality  
       2021-12-06 23:45:32 +08:00   ❤️ 1
    @kilasuelika 据说微软把 GvR 招进去的动机是打算给 Excel 加上 Python 计算引擎,如果要让 Excel 在数据科学有更广的应用,Python 就不能运行太慢,搞 Python JIT 的实际意义和长远价值都是很高的。
    datou
        19
    datou  
       2021-12-06 23:54:46 +08:00
    龟头叔六十多岁了还不退休吗?
    dayeye2006199
        20
    dayeye2006199  
       2021-12-07 01:32:04 +08:00
    这类项目还是有一些的。例如 Instagram 的魔改版本的 python ,带 jit 的,https://github.com/facebookincubator/cinder

    但是这玩意儿虽然开源但是 FB 没有资源支持社区。
    LeeReamond
        21
    LeeReamond  
       2021-12-07 03:19:41 +08:00
    @dayeye2006199 最近几年社区的爹都是 dropbox ,算个二线爹吧,没有一线爹那么财大气粗。jit 也有一些进展,比如 pyston 的成绩挺好的,基于 cpython 的 general 加速在 20%以上。不过看这个帖子里有个连接说的 gil 可移除倒是确实有些震惊。毕竟前几年那个移除项目最终流产就是因为多线程设计底层核心的 cache miss 的问题搞不定,也不知道新版怎么搞的,看文章说了一些比较基础的逻辑,我不认为这些逻辑足以移除 gil ,可能是我太菜了
    ila
        22
    ila  
       2021-12-07 06:46:37 +08:00 via Android
    @nonduality powerbi 数据来源支持 python 是因为这个?
    Mark24
        23
    Mark24  
       2021-12-07 10:24:35 +08:00
    Python 需要先完成标准化

    要不然大家怎么帮它实现 JIT
    SmiteChow
        24
    SmiteChow  
       2021-12-07 14:42:28 +08:00
    不会
    NoAnyLove
        25
    NoAnyLove  
       2021-12-08 10:36:40 +08:00
    nogil 那个看一看 https://lukasz.langa.pl/5d044f91-49c1-4170-aed1-62b6763e6ad0/
    不过看起来至少 3.11 (也就是说 2022 )都没戏
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3870 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 01:01 · PVG 09:01 · LAX 17:01 · JFK 20:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.