web-dev-qa-db-ja.com

どのセットアップがより効率的ですか? Flask pypyの場合、またはFlask geventの場合?

「pypy」と「gevent」の両方が高性能を提供することになっています。 PypyはおそらくCPythonよりも高速ですが、geventはコルーチンとグリーンレットに基づいているため、おそらくWebサーバーが高速になります。

ただし、これらは相互に互換性がありません。

どのセットアップが(速度/パフォーマンスの観点から)より効率的か疑問に思っています:

  • 組み込みのFlask pypyで実行されているサーバー

または:

  • CPythonで実行されているgeventサーバー
23
hasen

簡単な答えは次のとおりです。PyPyでは高速であり、より高い同時実行性geventを使用します。

トリッキーかもしれませんが、geventとPyPyを同時に使用することは可能です(これは複数のプロジェクトのPubNubで行います)。 PyPy 2.2以降、ソケットの実装を確認するには、いくつかのパッチが必要です。 githubに実験的なブランチがあります: https://github.com/pubnub/gevent/tree/pypy-hackspypycore と組み合わせて使用​​します。

私たちの推薦? Flask with PyPyandgevent。両方の長所を活用してください!

15
Jason Oster

組み込みflaskサーバーはBaseHTTPServerかそこらなので、絶対に使用しないでください。最良のシナリオは、竜巻+ pypyなどである可能性が非常に高いです。ただし、使用する前にベンチマークを実行してください。また、使用する内容によっても大きく異なります。 Webサーバー+ Webフレームワークのベンチマークは、通常、ハローワールドのようなベンチマークです。アプリケーションは本当にそのようなものですか?

乾杯、フィジャル

2
fijal