Sample time with "inverted" histogram?

Aleksey Shipilev aleksey.shipilev at oracle.com
Thu Jan 14 14:07:28 UTC 2016


On 01/11/2016 06:05 PM, Chris Vest wrote:
>> On 11 Jan 2016, at 13:54, Aleksey Shipilev
>> <aleksey.shipilev at oracle.com <mailto:aleksey.shipilev at oracle.com>> wrote:
>>
>> It might be worthwhile to explore. JMH's SampleBuffer is recording the
>> HDR data, so those histogram values are available. Therefore it is a
>> question of presentation: maybe print the histogram alongside with
>> quantiles?
> 
> You meaning putting both presentations side by side in the print out?
> That would work for me.

So I have a patch that produces this. Is that what you are looking for?

-----------------------------------------------------------

Result "test":
  N = 67526
  mean =     16.117 ±(99.9%) 0.039 ns/op

  Percentiles:
      p(0.0000) =     15.000 ns/op
     p(50.0000) =     16.000 ns/op
     p(90.0000) =     16.000 ns/op
     p(95.0000) =     16.000 ns/op
     p(99.0000) =     17.000 ns/op
     p(99.9000) =     67.000 ns/op
     p(99.9900) =     98.247 ns/op
     p(99.9990) =    201.000 ns/op
     p(99.9999) =    201.000 ns/op
    p(100.0000) =    201.000 ns/op

  Histogram, ns/op:
    [  0.000,  25.000) = 66908
    [ 25.000,  50.000) = 462
    [ 50.000,  75.000) = 140
    [ 75.000, 100.000) = 11
    [100.000, 125.000) = 3
    [125.000, 150.000) = 1
    [150.000, 175.000) = 0
    [175.000, 200.000) = 0
    [200.000, 225.000) = 1
    [225.000, 250.000) = 0
    [250.000, 275.000) = 0

-----------------------------------------------------------

Result "test":
  N = 94842
  mean =  52662.517 ±(99.9%) 19.244 ns/op

  Percentiles:
      p(0.0000) =   2216.000 ns/op
     p(50.0000) =  52608.000 ns/op
     p(90.0000) =  52672.000 ns/op
     p(95.0000) =  52672.000 ns/op
     p(99.0000) =  53312.000 ns/op
     p(99.9000) =  66304.000 ns/op
     p(99.9900) = 174724.019 ns/op
     p(99.9990) = 211456.000 ns/op
     p(99.9999) = 211456.000 ns/op
    p(100.0000) = 211456.000 ns/op

  Histogram, ns/op:
    [     0.000,  25000.000) = 12
    [ 25000.000,  50000.000) = 22
    [ 50000.000,  75000.000) = 94774
    [ 75000.000, 100000.000) = 13
    [100000.000, 125000.000) = 7
    [125000.000, 150000.000) = 2
    [150000.000, 175000.000) = 4
    [175000.000, 200000.000) = 7
    [200000.000, 225000.000) = 1
    [225000.000, 250000.000) = 0
    [250000.000, 275000.000) = 0

-----------------------------------------------------------

Thanks,
-Aleksey



More information about the jmh-dev mailing list