哪种设置更有效?带有pypy的烧瓶,或带有gevent的烧瓶?

has*_*sen 20 python performance pypy gevent

"pypy"和"gevent"都应该提供高性能.据说Pypy比CPython更快,而gevent基于协同例程和greenlets,据说可以提供更快的Web服务器.

但是,它们彼此不兼容.

我想知道哪种设置更有效(在速度/性能方面):

  • 在pypy上运行的内置Flask服务器

要么:

  • gevent服务器,在CPython上运行

Jas*_*ter 15

简短的回答是:PyPy 更快,并且它与gevent 具有更高的并发性.

可以同时使用gevent和PyPy(我们在PubNub上为多个项目执行此操作)虽然它可能很棘手.从PyPy 2.2开始,需要一些补丁来实现它们的套接字实现.我们在github上有一个实验分支:https://github.com/pubnub/gevent/tree/pypy-hacks - 与pypycore一起使用.

我们的推荐?使用Flask与PyPy gevent.充分利用这两个世界!

  • 看看[这里](https://github.com/gevent/gevent/issues/248)。Gevent 现在支持 pypy。 (2认同)

teb*_*nep 5

Pypy 与 Gevent +1.1 兼容 ( http://www.gevent.org/changelog.html )。它还与 Python 3 兼容。那么,为什么不同时使用两者呢?Pypy 将提高处理性能,而 Gevent 将通过使用地下异步连接来帮助执行 IO 绑定任务(例如数据库查询、Web 请求)。


fij*_*jal 1

内置的flask服务器是BaseHTTPServer左右,千万不要使用。最好的场景很可能是龙卷风 + pypy 或类似的东西。使用前先进行基准测试。它还很大程度上取决于你在做什么。Web 服务器 + Web 框架基准测试通常是 hello world 类型的基准测试。你的应用程序真的是这样吗?

干杯,菲贾尔