我正在对两个不同的项目进行压力测试:一个是用C编写的proxsmtpd - smtp proxy,另一个是smtp_proxy.py,它是我在1小时内使用asyncore和smtpd python模块开发的。
我在繁重的负载下对这两个项目进行了测试,发现proxsmtpd能够保持400smtp会话/秒,而我的python程序只能处理160smtp会话/sec。
所以,我的问题是,这是因为asyncore存在一些性能限制,还是C程序只是速度更快?或者可能是我,以一种低效的方式使用asyncore?
发布于 2010-01-08 01:35:30
我认为,假设有一个好的C版本和一个好的Python版本,C版本将会更快、更具可伸缩性,这是一个合理的假设,但是在您的例子中,您可能想要运行一个分析器,看看您的程序为什么以及在哪里没有像C版本那样扩展。也许你可以找出不足之处,并对其进行优化,从而从你的代码中挤出更多的性能。此外,我对asyncore了解不多,但当人们想要做异步工作时,他们似乎倾向于第一个Python库是扭曲的。因此,可能会有性能的提高。
https://stackoverflow.com/questions/2022211
复制相似问题