ASP4
view release on metacpan or search on metacpan
t/020-bench/010-hello.t view on Meta::CPAN
#!/usr/bin/perl -w
use strict;
use warnings 'all';
use Test::More 'no_plan';
use Time::HiRes 'gettimeofday';
use ASP4::API;
my $api = ASP4::API->new;
ok(1);
{
my ($time, $persec) = bench('/handlers/dev.simple', 1000);
warn "\nGET /handlers/dev.simple 1000 times in $time seconds ($persec/second)\n";
}
{
my ($time, $persec) = bench('/handlers/dev.speed', 1000);
warn "GET /handlers/dev.speed 1000 times in $time seconds ($persec/second)\n";
}
{
my ($time, $persec) = bench('/useragent/hello-world.asp', 1000);
warn "GET /useragent/hello-world.asp 1000 times in $time seconds ($persec/second)\n";
}
{
my ($time, $persec) = bench('/pageparser/child-inner2.asp', 1000);
warn "GET /pageparser/child-inner2.asp 1000 times in $time seconds ($persec/second)\n";
}
{
my ($time, $persec) = bench('/masters/deep.asp', 1000);
warn "GET /masters/deep.asp 1000 times in $time seconds ($persec/second)\n";
}
sub bench {
my ($uri, $times) = @_;
my $start = gettimeofday();
for( 1..$times ) {
$api->ua->get($uri)->is_success or die "ERROR";
}
my $diff = gettimeofday() - $start;
my $persec = $times / $diff;
return ($diff, $persec);
}
( run in 1.823 second using v1.01-cache-2.11-cpan-39bf76dae61 )