getline() very very slow on localhost on 5.X
Robert Watson
rwatson at FreeBSD.org
Thu Feb 3 01:39:25 PST 2005
On Thu, 3 Feb 2005, Martin Blapp wrote:
> Can someone confirm that this is still a problem on 6.X ? Something is
> really broken here ...
Could you:
(1) Try connecting to 127.0.0.1 instead of localhost?
(2) If the problem persists, try writing a C based client to do the same
thing?
(3) Use tcpdump on lo0 to create a packet trace?
What leads you to conclude that getline() is the problem, as opposed to
the pop server, etc?
Robert N M Watson
>
> Martin
>
> FreeBSD 5.x connecting to localhost
>
> time perl5.6.1 -MIO::Socket -e '$s = new IO::Socket::INET("localhost:110");
> $s->print("user USER\r\n");
> $s->getline(); $s->print("pass PASS\r\n"); $s->getline(); $s->print("LIST\r\n");
> for ($i = 1; $i
> < 2000; ++$i) { $j=1 + $i%500;$s->print("top $j 0\r\n"); }
> $s->print("quit\r\n"); while (defined($_
> = $s->getline())) { print $_; }' > xxx
>
> real 2m9.509s
> user 0m0.559s
> sys 0m0.184s
>
> FreeBSD 5.x connecting to the external IP of the server
>
> time perl -MIO::Socket -e '$s = new IO::Socket::INET("server:110");
> $s->print("user USER\r\n");
> > $s->getline(); $s->print("pass PASS\r\n"); $s->getline();
> $s->print("LIST\r\n");
> for ($i = 1; $i
> > < 2000; ++$i) { $j=1 + $i%500;$s->print("top $j 0\r\n"); }
> $s->print("quit\r\n"); while (defined($_
> > = $s->getline())) { print $_; }' > xxx
>
> real 0m6.932s
> user 0m0.553s
> sys 0m0.187s
>
> Martin Blapp, <mb at imp.ch> <mbr at FreeBSD.org>
> ------------------------------------------------------------------
> ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
> Phone: +41 61 826 93 00 Fax: +41 61 826 93 01
> PGP: <finger -l mbr at freebsd.org>
> PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
> ------------------------------------------------------------------
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>
More information about the freebsd-current
mailing list