Domanda

io sono di stress test 2 progetti differenti: una è proxsmtpd - smtp delega scritta in C E l'altro, smtp_proxy.py, che ho sviluppato meno di 1 ora, con l'uso di moduli pitone asyncore e SMTPd.

ho sottolineato entrambi i progetti in fase di carico pesante, e scoperto che proxsmtpd è in grado di contenere 400 sessioni SMTP / sec, mentre il mio programma Python, è in grado di fare solo 160 sessioni SMTP / sec.

Quindi, la mia domanda è, lo fa perché ci sono alcune limitazioni di prestazioni in asyncore, o programmi C sono solo più veloce? O forse sono io, usando asyncore in modo inefficiente?

È stato utile?

Soluzione

Credo che sia ragionevole prevedere che, dato un bene Versione C ed un bene versione di Python, la versione C sarà più veloce e più scalabile, ma nel tuo caso, è consigliabile eseguire un profiler e vedere perché e dove il vostro programma non sta incrementando tanto quanto la versione C. Forse si può scoprire i punti stretti e ottimizzare a pretendere prestazioni dal vostro codice. Inoltre, io non ne so molto di asyncore ma i primi Python biblioteca persone sembrano gravitare verso quando vogliono fare cose asincrona è contorto. Quindi, forse c'è un miglioramento delle prestazioni lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top