Could this be to do with the fact that GHTTP is HTTP/1.1 only, and maybe
activestate's server is doing something odd with that? Maybe it's
keepalive timeouts.
Anyway, I'll try and make it to the BOF.
On 17 Jul 2001, Gisle Aas wrote:
> [Somehow Gnus mimified the message wrong (not the first time), so that
> the initial text was invisible for those with MIME-aware mail readers.
> This is the text that was supposed to go out with the message.]
>
> I'm planing on running a "Web Client Library BOF" at the ORA Conference
> this year (have a timeslot on Thursday;
> http://conferences.oreillynet.com/cs/os2001/pub/10/bofs.html).
>
> As a bit of research before the BOF I today tried out various
> libraries that are available to Perl. One of the things I tried was
> to write a little loop that fetches the ActiveState homepage 50 times.
> I got kind of strange results:
>
> LWP 1.8s 0.45s 0.07s 5680 kB
> LWP::Simple 1.8s 0.15s 0.07s 4432 kB
> HTTP::GHTTP 10.9s 0.06s 0.07s 3484 kB
> HTTP::Lite 11.2s 1.56s 0.13s 5244 kB
> HTTP::Webdav 1.3s 0.01s 0.02s 4152 kB
>
> The first number is real time, the second is user CPU time and the
> third system CPU time. The last number is the size of the process
> when the loops finish.
>
> What I don't understand is why HTTP::GHTTP and HTTP::Lite get so bad
> real time numbers. Can anybody else reproduce similar results or
> explain it? I have attached my test scripts.
>
> The HTTP::GHTTP manpage site a benchmark that says:
>
> Benchmark: timing 1000 iterations of ghttp, lite, lwp...
> ghttp: 8 wallclock secs ( 0.96 usr + 1.16 sys = 2.12 CPU)
> lite: 21 wallclock secs ( 3.00 usr + 3.44 sys = 6.44 CPU)
> lwp: 18 wallclock secs ( 9.76 usr + 1.59 sys = 11.35 CPU)
>
> Is that benchmark script available somewhere so that I can verify its results?
>
> Regards,
> Gisle
>
>
--
<Matt/>
/|| ** Founder and CTO ** ** http://axkit.com/ **
//|| ** AxKit.com Ltd ** ** XML Application Serving **
// || ** http://axkit.org ** ** XSLT, XPathScript, XSP **
// \\| // ** mod_perl news and resources: http://take23.org **
\\//
//\\
// \\