如何在 Perl 中计算一堆数字流的中位数和标准差?
在我们的日志文件中,我们存储请求的响应时间。计算中值响应时间、“75/90/95% 的请求在不到 N 次的时间内得到满足”等数字的最有效方法是什么? (我想我的问题的一个变体是:计算一堆数字流的中位数和标准差的最佳方法是什么)。
我想出的最好的办法就是读取所有数字,对它们进行排序,然后挑选出数字,但这看起来真的很愚蠢。难道就没有更聪明的办法吗?
我们使用 Perl,但任何语言的解决方案可能都会有帮助。
In our logfiles we store response times for the requests. What's the most efficient way to calculate the median response time, the "75/90/95% of requests were served in less than N time" numbers etc? (I guess a variation of my question is: What's the best way to calculate the median and standard deviation of a bunch stream of numbers).
The best I came up with was just reading all the numbers, ordering them and then picking out the numbers, but that seems really goofy. Isn't there a smarter way?
We use Perl, but solutions for any language might be helpful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论