I used this script, an example from the docs, to test memory use. 5m is way too much. Cut it back to 2m, and you're ready to roll: #!/usr/bin/perl
use strict;
use warnings;
use Statistics::Descriptive::Weighted;
my @data = (1..2000000);
my $stat = Statistics::Descriptive::Full->new();
$stat->add_data(@data);
print $stat->quantile(1), "\n";
Update: Maybe this might help:#!/usr/local/bin/perl
use strict;
use warnings;
my @numbers = (1..2000000);
printf "Percentile %d%% at %f\n", $_, percentile($_,\@numbers)
for qw/25 75/;
sub percentile {
my ($p,$aref) = @_;
my $percentile = int($p * $#{$aref}/100);
return (sort @$aref)[$percentile];
}
|