Frage

Ich bin Stresstest 2 verschiedene Projekte: Einer ist Proxsmtpd - SMTP -Proxy in C und der andere, SMTP_PROXY.py, das ich unter 1 Stunde unter Verwendung von Asyncore- und SMTPD -Python -Modulen entwickelt habe.

Ich betonte beide Projekte unter schwerer Belastung und stellte fest, dass Proxsmtpd 400 SMTP -Sitzungen / Sekunden abhalten kann, während mein Python -Programm nur 160 SMTP -Sitzungen / Sekunden durchführen kann.

Meine Frage ist also, weil es einige Leistungsbeschränkungen in Asyncore oder C -Programmen gibt, die nur schneller sind? Oder bin ich es vielleicht, wenn ich Asyncore auf ineffiziente Weise benutze?

War es hilfreich?

Lösung

Ich denke, es ist eine faire Annahme, die a gegeben hat gut C Version und a gut Python -Version, die C -Version wird schneller und skalierbarer sein, aber in Ihrem Fall möchten Sie vielleicht einen Profiler ausführen und sehen, warum und wo Ihr Programm nicht so viel senkt wie die C -Version. Vielleicht können Sie die engen Flecken aufdecken und sie optimieren, um mehr Leistung aus Ihrem Code herauszuholen. Außerdem weiß ich nicht viel über Asyncore, aber die erste Python -Bibliotheks -Leute scheinen sich zu interessieren, wenn sie asynchrones Zeug tun wollen. Vielleicht gibt es dort eine Leistungsverbesserung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top