如何计算Perl中一串数字的中位数和标准差?

Ask*_*sen 10 statistics perl logging median

在我们的日志文件中,我们存储请求的响应时间.计算中间响应时间的最有效方法是什么,"75/90/95%的请求是在少于N个时间内提供的"数字等?(我想我的问题的一个变体是:计算一串数字流的中位数和标准差的最佳方法是什么).

我想出的最好的只是阅读所有数字,订购它们然后挑出数字,但这看起来真的很傻.是不是有更聪明的方法?

我们使用Perl,但任何语言的解决方案都可能有所帮助.

Joh*_*ook 11

请参阅文章计算内存绑定应用程序中的百分位数.它解释了如何有效地计算中位数和其他百分位数.

另外,这里有一篇关于计算标准偏差(方差)的文章:准确计算运行方差.