小编ZOX*_*XIS的帖子

Perl:计算百分位数的最有效方法

我有一个 perl 脚本,它通过几个演出文件并生成一个报告。

为了计算百分位数,我正在执行以下操作

my @values = 0;
while (my $line = <INPUTFILE>){
    .....
    push(@values, $line);

}
# Sort
@values = sort {$a <=> $b} @values; 

# Print 95% percentile
print $values[sprintf("%.0f",(0.95*($#values)))];
Run Code Online (Sandbox Code Playgroud)

这显然将所有值预先保存在数组中,然后计算百分位数,这可能会占用大量内存(假设有数百万个值),是否有更高效的内存方法?

memory perl performance percentile

5
推荐指数
1
解决办法
5458
查看次数

标签 统计

memory ×1

percentile ×1

performance ×1

perl ×1