'pypy'和'gevent'都应该提供高性能。据说Pypy比CPython更快,而gevent则基于协同例程和greenlets,据说可以提供更快的Web服务器。
但是,它们彼此不兼容。
我想知道哪种设置更有效(在速度/性能方面):
或:
答案 0 :(得分:14)
简短的回答是:使用PyPy 更快,并且它与gevent具有更高的并发性。
可以同时使用gevent和PyPy(我们在PubNub上为多个项目执行此操作)虽然它可能很棘手。从PyPy 2.2开始,需要一些补丁来实现它们的套接字实现。我们在github上有一个实验分支:https://github.com/pubnub/gevent/tree/pypy-hacks - 与pypycore一起使用。
我们的建议?将Flask与PyPy 和 gevent一起使用。充分利用这两个世界!
答案 1 :(得分:2)
内置烧瓶服务器是BaseHTTPServer左右,永远不会使用。最好的情况很可能是龙卷风+ pypy或类似的东西。使用之前的基准测试。它还非常依赖于你正在做的事情。 Web服务器+ Web框架基准测试通常是hello world的基准测试。你的申请真的那样吗?
干杯,fijal
答案 2 :(得分:2)
Pypy与Gevent +1.1(http://www.gevent.org/changelog.html)兼容。它也与Python 3兼容。那么,为什么不同时使用它们呢? Pypy将提高处理性能,而Gevent将通过使用地下异步连接来帮助IO绑定任务(例如数据库查询,Web请求)。