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.

Simon
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to