質問

私は2つの異なるプロジェクトをテストしています。1つはcで書かれたproxsmtpd -smtpプロキシであり、もう1つは1時間以内に開発され、AsyncoreおよびSMTPD Pythonモジュールを使用して開発しました。

私は両方のプロジェクトを重い負荷で強調し、ProxSMTPDは400 SMTPセッション /秒を保持できることを発見しましたが、私のPythonプログラムは160 SMTPセッション /秒のみを実行できることがわかりました。

それで、私の質問は、Asyncoreにいくつかのパフォーマンスの制限があるか、Cプログラムがより速いので、それはそうですか?それとも、非効率的な方法でAsyncoreを使用しているのでしょうか?

役に立ちましたか?

解決

私はそれが与えられたのは公正な仮定だと思います 良い Cバージョンとa 良い Pythonバージョンでは、Cバージョンはより速く、よりスケーラブルになりますが、あなたの場合、プロファイラーを実行し、プログラムがCバージョンほどスケールアップしていない理由と場所を確認することをお勧めします。おそらく、タイトなスポットを明らかにし、それを最適化して、コードからさらにパフォーマンスを絞ることができます。また、私はAsyncoreについてはあまり知りませんが、最初のPythonライブラリの人々は、彼らが非同期のことをしたいときに引き寄せられているようです。だから、おそらくそこにはパフォーマンスの改善があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top