2016-04-16 9 views
0

Ich verwende HdrHistogram Java-Bibliothek, aber ich bekomme nicht die gewünschte Ausgabe. Können Sie mir bitte helfen zu verstehen, dass ein Fehler in der Bibliothek oder der erwartete Wert vorliegt.Brauchen Sie Hilfe bei der Verwendung von HdrHistogram Java-Bibliothek

In diesem Fall erwarte ich die Ausgabe 1000000, aber tatsächliche Ausgabe ist 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)); 
} 
} 

Warum ist das passiert zu sein. Meine Maven Einstellungen sind: -

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

Antwort

0

Dies ist das richtige Verhalten. Mit 5 Dezimalstellen der angegebenen Auflösung/Trennung (in Ihrem Beispiel) wäre jedes Ergebnis, das 1000000 +/- 100 ist, korrekt. 1000003 liegt innerhalb dieses Bereichs, und histogram.valuesAreEquivalent (1000000, 1000003) würde/sollte true zurückgeben. Beachten Sie, dass Sie histogram.lowestEquivalentValue (1000000) und Histogramm verwenden können. hostEquivalentValue (1000000), um den Bereich der äquivalenten Werte festzulegen.

Verwandte Themen