2
我壓力測試2個不同的項目:一個是proxsmtpd - 用C編寫的smtp代理 另一個smtp_proxy.py,我用1小時開發,使用asyncore和smtpd python模塊。Python asyncore vs普通老C
我強調這兩個項目在重負載下, 並發現proxsmtpd能夠容納400個SMTP會話/秒, 而我的Python程序,是能夠做到的只有160 SMTP會話/秒。
所以,我的問題是,是否因爲在asyncore中有一些性能限制, 或C程序只是更快?或者也許是我,以低效的方式使用asyncore?
如果你對Python相當陌生,那麼可以肯定的是,你以低效的方式做事情。 Python的新手通常會寫「C風格」的東西,遍歷字符串中的單個字符,而不是有效地使用Python原語,通常工作在太低的水平。除非你確定你的方法是「Pythonic」和高效的,否則Noufal對配置文件的建議是很好的:如果你不知道爲什麼最慢的代碼太慢,就用代碼發佈更新。 – 2010-01-07 17:45:39