遇到了一个 pypy 的匪夷所思的性能问题

2016-11-25 17:07:53 +08:00
 SlipStupig
本人开发了一个小的 web 程序,用 tornado+motor+gevent patch 开发,发现用 pypy 请求一次 GET 需要 5480MS ,而 CPython 只要 400ms ,到底什么原因导致了同样的代码 pypy 比 cpython 还要慢呢?
2666 次点击
所在节点    Python
10 条回复
GeekGao
2016-11-25 17:51:54 +08:00
很可能你用的 gevent 版本与 pypy 之间无法很好的玩耍呗
102400
2016-11-25 18:17:45 +08:00
你做下压力测试, JIT 后期肯定要比 CPython 要快
SlipStupig
2016-11-25 19:35:03 +08:00
@102400 并没有一直很慢
Zzzzzzzzz
2016-11-25 19:39:30 +08:00
gevent 这种走扩展的 pypy 的 jit 优化不了, 单 tornado 倒是能把性能拉很高, 不过, tornado 搭 gevent 的组合好奇怪
cctvsmg
2016-11-25 19:41:30 +08:00
都 gevent 了,还干嘛用 tornado ,然后再 pypy ,这简直不兼容的合集。。。。
SlipStupig
2016-11-25 19:49:45 +08:00
@cctvsmg 我可以试一试
SlipStupig
2016-11-25 19:54:35 +08:00
@cctvsmg 感谢已经解决
sujin190
2016-11-25 23:23:40 +08:00
motor 和 gevent 确定不会相互影响? motor 本来不就是异步的么?还有什么库需要 gevent 么?
sujin190
2016-11-25 23:23:56 +08:00
@SlipStupig 那么说一下为什么呗?
SlipStupig
2016-11-28 12:17:37 +08:00
@sujin190 gevent 的原因,具体是怎么被影响都不清楚....

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

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

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

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

© 2021 V2EX