Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: LWP::Parallel vs. HTTP::GHTTP vs. IO::Socket

by hacker (Priest)
on May 16, 2003 at 23:21 UTC ( #258792=note: print w/replies, xml ) Need Help??

in reply to Re: Re: LWP::Parallel vs. HTTP::GHTTP vs. IO::Socket
in thread LWP::Parallel vs. HTTP::GHTTP vs. IO::Socket

As it turns out, HTTP::MHTTP seems to have an 'issue' with name-based virtual hosts, exhibited by the code below, so I can't use that, and it doesn't appear to work on Windows machines either, which puts it in the non-portable category for me:
use strict; use HTTP::MHTTP; # This url REALLY exists, but is a virtual host # on a domain shared by multiple hosts. my $url = '; http_init(); switch_debug(1); http_call("GET", $url); print http_response();

Thanks to bart and ChemBoy for the enlightening discussion that exposed this issue.

Based on my loose testing (excluding HTTP::MHTTP), it looks like HTTP::GHTTP is the fastest, followed closely by HTTP::Lite and LWP::Simple behind that. I haven't done benching against Parallel::ForkManager yet with these, so that waits to be seen.

The other issue also, is the speed at which DNS queries are resolved. I think I can speed that up with a local database of resolved sites, but on the first run, that'll take a hit.

Thanks for the tips and hints though, I'm closer to a functional solution, but it seems the more I test, the farther down the stack I get, closer to writing my own code around IO::Socket. I'd like to avoid that if I can.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://258792]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2019-10-19 22:53 GMT
Find Nodes?
    Voting Booth?