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

有 python 转 pypy 的吗?

  •  
  •   imcocc · 2016-08-22 00:14:56 +08:00 · 5366 次点击
    这是一个创建于 2776 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚看了很多介绍说,说 pypy 的性能很高.
    有从 python2.7 转过去的兄弟吗,坑多吗,遇到的有哪些坑 .
    10 条回复    2016-08-22 12:24:58 +08:00
    SlipStupig
        1
    SlipStupig  
       2016-08-22 01:36:41 +08:00
    一堆坑很多扩展不支持,在一些情况下会出现性能低于 python ,如果是生产环境目前不建议转
    mathgl
        2
    mathgl  
       2016-08-22 01:52:44 +08:00
    已经用了两年,效果比较满意。
    ethego
        3
    ethego  
       2016-08-22 01:53:32 +08:00 via iPhone
    @SlipStupig 哪些扩展不支持,哪些时候性能比 cpython 还低,你倒是给个例子看看啊?
    mathgl
        4
    mathgl  
       2016-08-22 02:11:19 +08:00
    @ethego pypy 的 cpyext 是最近才有改善,所以以前的版本对于那些大量使用 c-api 的扩展支持不是太好。导致很多人就不敢用。

    现在 cpyext 的支持是重点,相信以后会越来越好。

    性能比 cpython 低是有可能的。这个需要做 profiling ,有问题可以报给 pypy 开发人员,他们比较在意这种问题的。

    就我个人这两年的使用经验,大约速度为 cpython 2x-5x 之间。
    SlipStupig
        5
    SlipStupig  
       2016-08-22 02:12:31 +08:00
    @ethego 不要不服年轻人, pyv8 不支持, lxml 不支持, tornado 在用 mysql pooling 的时候,慢于 cpython
    VYSE
        6
    VYSE  
       2016-08-22 03:02:41 +08:00 via Android
    写了个限定深度的递归程序只使用 PURE PYTHON 库不定期 crash ,懒得弄明白怎么调出 traceback 出来
    jjx
        7
    jjx  
       2016-08-22 10:11:44 +08:00
    c 扩展性能比兼容性更严重,平均比 cpython 慢 2~3 倍
    ethego
        8
    ethego  
       2016-08-22 11:10:59 +08:00
    @SlipStupig 这都是 c api 的问题,除了 pyv8 这种以外基本都能找到 pure python 的替代库。我司就在用 tornado + pypy 用 mysql 的连接池,目前部署在线上灰度。年轻人,你解决不了的问题不代表就是 pypy 的问题。
    mathgl
        9
    mathgl  
       2016-08-22 11:16:55 +08:00
    @jjx cpyext 本来就是慢,文档有提,现在的目标是尽量完善它,没说是让它快起来。对 pypy 更合适的估计只有 cffi 了
    imcocc
        10
    imcocc  
    OP
       2016-08-22 12:24:58 +08:00 via iPhone
    @SlipStupig 分享个信息, pypy 官方上说 对 lxml 支持了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5333 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:27 · PVG 15:27 · LAX 00:27 · JFK 03:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.