#!/usr/bin/perl -w use strict; use LWP; use Time::HiRes qw(time); my $uri = shift || "http://www.activestate.com/"; my $times = 50; my $ua = LWP::UserAgent->new; $ua->parse_head(0); my $req = HTTP::Request->new(GET => $uri); my $res; $res = $ua->request($req) || die; $res = $ua->request($req) || die; open(my $file, ">", "xxx-lwp"); my @before = (time, times); for (1..$times) { $res = $ua->request($req) || die; print $file $res->content; } my @after = (time, times); for my $i (0 .. @after-1) { $after[$i] -= $before[$i]; } print "@after\n"; open(PROC, "/proc/self/status") || die; while (<PROC>) { print if /^VmSize/; }
#!/usr/bin/perl -w use strict; use HTTP::GHTTP qw(get); use Time::HiRes qw(time); my $uri = shift || "http://www.activestate.com/"; my $times = 50; #warmup get($uri); get($uri); open(my $file, ">", "xxx-ghttp"); my @before = (time, times); for (1..$times) { print $file get($uri); } my @after = (time, times); for my $i (0 .. @after-1) { $after[$i] -= $before[$i]; } print "@after\n"; open(PROC, "/proc/self/status") || die; while (<PROC>) { print if /^VmSize/; }
use strict; use HTTP::Webdav ; use Time::HiRes qw(time); use URI; my $uri = shift || "http://www.activestate.com"; my $times = 50; $uri = URI->new($uri); my $host = $uri->host; my $port = $uri->port; my $path = $uri->path; $path = "/" unless length $path; my $sess = HTTP::Webdav->new; $sess->server($host, $port); open(my $null, ">", "/dev/null") || die; $sess->get($path, fileno($null)); $sess->get($path, fileno($null)); # instead of STDOUT you can use any open Perl filehandle open(my $fh, ">", "xxx-webdav") || die; my @before = (time, times); for (1..$times) { $sess->get($path, fileno($fh)); } my @after = (time, times); for my $i (0 .. @after-1) { $after[$i] -= $before[$i]; } print "@after\n"; open(PROC, "/proc/self/status") || die; while (<PROC>) { print if /^VmSize/; }
#!/usr/bin/perl -w use strict; use HTTP::Lite; use Time::HiRes qw(time); my $uri = shift || "http://www.activestate.com/"; my $times = 50; my $sess = HTTP::Lite->new; my $status; #warmup $^W = 0; # HTTP::Lite not clean $status = $sess->request("http://www.activestate.com/") || die; $status = $sess->request("http://www.activestate.com/") || die; open(my $file, ">", "xxx-lite"); my @before = (time, times); for (1..$times) { $sess->{body} = ""; # break in $status = $sess->request("http://www.activestate.com/") || die; print $file $sess->body; } my @after = (time, times); for my $i (0 .. @after-1) { $after[$i] -= $before[$i]; } print "@after\n"; open(PROC, "/proc/self/status") || die; while (<PROC>) { print if /^VmSize/; }
