#!/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/;
}

Reply via email to