Skip to content

Instantly share code, notes, and snippets.

@wchristian
Created November 3, 2010 14:38
Show Gist options
  • Save wchristian/661144 to your computer and use it in GitHub Desktop.
Save wchristian/661144 to your computer and use it in GitHub Desktop.
#!/usr/bin/perl
use strict; use warnings;
use Config::Std;
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
use Parallel::ForkManager;
use Benchmark;
my $t0 = Benchmark->new;
my $pm = Parallel::ForkManager->new(10);
my @ids = ( 34..100 );
my @chain = map POST( "http://eve-metrics.com/api/item.json", [ type_ids => $_ ] ), @ids;
my @responses = parallel_download( @chain );
print $_ for @responses;
my $t1 = Benchmark->new;
my $td = timediff($t1, $t0);
print "the code took:",timestr($td),"\n";
exit;
sub parallel_download {
my ( @requests ) = @_;
my @responses;
for my $request ( @requests ) {
$pm->start and next;
my $ua = LWP::UserAgent->new;
push @responses, $ua->request($request);
$pm->finish;
}
return @responses;
}
Attempt to free unreferenced scalar: SV 0x3dbbbfc, Perl interpreter: 0x24b3f34 at D:\timer\fork.pl line 37.
Attempt to free unreferenced scalar: SV 0x808f9bc, Perl interpreter: 0x785e70c at D:\timer\fork.pl line 37.
Attempt to free unreferenced scalar: SV 0x7848b14, Perl interpreter: 0x4617cec at D:\timer\fork.pl line 37.
Attempt to free unreferenced scalar: SV 0x4602104, Perl interpreter: 0x3dd14bc at D:\timer\fork.pl line 37.
Attempt to free unreferenced scalar: SV 0x88d685c, Perl interpreter: 0x80a55a4 at D:\timer\fork.pl line 37.
Attempt to free unreferenced scalar: SV 0x808f9bc, Perl interpreter: 0x785e70c at D:\timer\fork.pl line 38.
Attempt to free unreferenced scalar: SV 0x808f9bc, Perl interpreter: 0x785e70c at C:/Perl/site/lib/Parallel/ForkManager.pm line 497.
Attempt to free unreferenced scalar: SV 0x808f9bc, Perl interpreter: 0x785e70c at C:/Perl/site/lib/Parallel/ForkManager.pm line 497.
Attempt to free unreferenced scalar: SV 0x88d685c, Perl interpreter: 0x80a55a4 at D:\timer\fork.pl line 38.
Attempt to free unreferenced scalar: SV 0x88d685c, Perl interpreter: 0x80a55a4 at C:/Perl/site/lib/Parallel/ForkManager.pm line 497.
Attempt to free unreferenced scalar: SV 0x4602104, Perl interpreter: 0x3dd14bc at D:\timer\fork.pl line 38.
Attempt to free unreferenced scalar: SV 0x4602104, Perl interpreter: 0x3dd14bc at C:/Perl/site/lib/Parallel/ForkManager.pm line 497.
Attempt to free unreferenced scalar: SV 0x88d685c, Perl interpreter: 0x80a55a4 at C:/Perl/site/lib/Parallel/ForkManager.pm line 497.
Attempt to free unreferenced scalar: SV 0x4602104, Perl interpreter: 0x3dd14bc at C:/Perl/site/lib/Parallel/ForkManager.pm line 497.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment