有 python 转 pypy 的吗?

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

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

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

就我个人这两年的使用经验,大约速度为 cpython 2x-5x 之间。
SlipStupig
2016-08-22 02:12:31 +08:00
@ethego 不要不服年轻人, pyv8 不支持, lxml 不支持, tornado 在用 mysql pooling 的时候,慢于 cpython
VYSE
2016-08-22 03:02:41 +08:00
写了个限定深度的递归程序只使用 PURE PYTHON 库不定期 crash ,懒得弄明白怎么调出 traceback 出来
jjx
2016-08-22 10:11:44 +08:00
c 扩展性能比兼容性更严重,平均比 cpython 慢 2~3 倍
ethego
2016-08-22 11:10:59 +08:00
@SlipStupig 这都是 c api 的问题,除了 pyv8 这种以外基本都能找到 pure python 的替代库。我司就在用 tornado + pypy 用 mysql 的连接池,目前部署在线上灰度。年轻人,你解决不了的问题不代表就是 pypy 的问题。
mathgl
2016-08-22 11:16:55 +08:00
@jjx cpyext 本来就是慢,文档有提,现在的目标是尽量完善它,没说是让它快起来。对 pypy 更合适的估计只有 cffi 了
imcocc
2016-08-22 12:24:58 +08:00
@SlipStupig 分享个信息, pypy 官方上说 对 lxml 支持了。

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

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

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

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

© 2021 V2EX