0

HdrHistogram Java ライブラリを使用していますが、目的の出力が得られません。ライブラリまたは期待値にエラーがあることを理解していただけますか。

この場合、出力が 1000000 になることを期待していますが、実際の出力は 1000003 です。

import org.HdrHistogram.*;

public class Main {

public static void main(String[] args) throws InterruptedException {
    Histogram histogram = new Histogram(5);
    histogram.recordValue(1000000);
    histogram.recordValue(1000001);
    histogram.recordValue(1000002);
    histogram.recordValue(90);
    histogram.recordValue(10);

    System.err.println(histogram.getValueAtPercentile(50.0));
}
}

なぜこうなった。私のmaven設定は次のとおりです:-

    <dependency>
        <groupId>org.hdrhistogram</groupId>
        <artifactId>HdrHistogram</artifactId>
        <version>2.1.8</version>
    </dependency>
4

1 に答える 1

0

これは正しい動作です。指定された解像度/分離の小数点以下 5 桁 (この例では) では、1000000 +/- 100 の結果は正しいでしょう。1000003 は十分にその範囲内にあり、histogram.valuesAreEquivalent(1000000, 1000003) は true を返すはずです。histogram.lowestEquivalentValue(1000000) と histogram を使用できることに注意してください。最高値 (1000000) を使用して、同等の値の範囲を確立します。

于 2016-04-18T22:30:08.620 に答える