Re: Patch to fix comm_incoming (squid-1.2beta22)

From: Stewart Forster <slf@dont-contact.us>
Date: Fri, 05 Jun 1998 12:13:34 +1000

--MimeMultipartBoundary
Content-Type: text/plain; charset=us-ascii

> How did you measure it?? On linux 2.0.33, average times for system
> calls run as..
>
> recvfrom 0.000049
> read 0.000090
> select 0.001902
>
> as measured by profiling a running busy squid.

        Righto. I was using poll() which was about 30% faster against doing
a read. I didn't check recvfrom since this test was good enough for me.

                read 0.0000094
                poll 0.0000059

        I did this by doing read / polls to a TCP network socket opened
for listening (ie. like squid does) and set for non_blocking I/O. I ran
it through a loop 1M times and timed it. That just measures raw overhead
of each call. I was polling a single socket which is similar to what
we'll be targeting.

Wow! Solaris is quite a bit faster (300x) than Linux for those polls, and
even 10 times faster for reads.

        Tell you what I'll do. I'll work in a #ifdef to allow bypassing
of the poll/select call and go straight to the event handler bit, that way
if your OS is faster for doing that, then cool.

        Stew.

-- 
Stewart Forster (Snr. Development Engineer)
connect.com.au pty ltd, Level 9, 114 Albert Rd, Sth Melbourne, VIC 3205, Aust.
Email: slf@connect.com.au   Phone: +61 3 9251-3684   Fax: +61 3 9251-3666
--MimeMultipartBoundary--
Received on Tue Jul 29 2003 - 13:15:50 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:11:48 MST