append in IMAP4 from imaplib very slow

Terry Reedy tjreedy at
Thu Jul 26 16:30:11 CEST 2012

On 7/26/2012 7:55 AM, Simon Pirschel wrote:
> On 07/26/2012 11:25 AM, Simon Pirschel wrote:
>> Ok, forget about the EXISTS and RECENT response. The server will
>> response this way if you selected a mailbox, which I did in the Python
>> code but not in the Perl code. I disabled selecting the mailbox in
>> Python and there is no difference in the runtime. So, this isn't the
>> issue.
> I solved the issue. The bad performance is caused by the socketopt
> socket.TCP_NODELAY set to 0 by default.
> Request timing with socket.TCP_NODELAY=0: 0.0501310825348 seconds
> Request timing with socket.TCP_NODELAY=1: 0.0027711391449 seconds
> This is a huge difference. Setting TCP_NODELAY=1 will bring the runtime
> from 3:30 minutes down to 14 seconds! Not Perl speed, but close.

Do you think this warrants a change in our docs, if not the code?

Terry Jan Reedy

More information about the Python-list mailing list