我正在对2个不同的项目进行压力测试:一个是Proxsmtpd -SSMTP代理,用C编写了SMTP_PROXY.PY,我在1小时以下开发了,使用Asyncore和SMTPD Python模块。

我强调了这两个项目在重负载下,并发现Proxsmtpd能够举办400个SMTP会话 /秒,而我的Python程序只能进行160个SMTP会话 /秒。

因此,我的问题是,是因为异步存在一些性能限制,或者C程序速度更快?或者,也许是我,以低效的方式使用异步?

有帮助吗?

解决方案

我认为这是一个公平的假设 好的 C版本和A 好的 python版本,C版本将更快,更可扩展,但是就您而言,您可能需要运行一个profiler,并查看为什么和何处的程序不像C版本那样扩展。也许您可以揭开紧密的斑点并进行优化,以从代码中挤出更多性能。另外,我对异步不太了解,但是第一个Python图书馆的人们似乎在想做异步的事情时倾向于扭曲。因此,也许那里有一个性能的改进。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top