On Thu, 23 Mar 2023 21:15:44 GMT, Eirik Bjorsnos <d...@openjdk.org> wrote:

>> Sergey Tsypanov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Update src/java.base/share/classes/java/io/BufferedInputStream.java
>>   
>>   Co-authored-by: liach <7806504+li...@users.noreply.github.com>
>
> My last comment was so heavily edited, I think it makes sense to delete it 
> and include the last edit here:
> 
>> @eirbjo you mean benchmark for BIS instantiation?
> 
> My general thought is that a benchmark demonstrating the proposed performance 
> benefits is always good and should perhaps be a requirement for such 
> performance related changes. An effort should be made to detect regressions 
> as well. This is just my personal preference, won't claim this is policy of 
> any kind.
> 
> Until something is benchmarked, nobody knows if the benefit is just 
> speculation.
> 
> I have experienced and suggested several PRs myself which benchmark work 
> later showed dubious improvements which cased the change to be withdrawn.
> 
> In https://github.com/openjdk/jdk/pull/13121, I ran some (existing) benchmark 
> on the PR only to discover it seems to have a weird, subtle regression.
> 
> Besides this: A benchmark also help you save the performance improvements for 
> the future. Without a benchmark, it is easier for someone to come along and 
> nullify your improvements by some independent change.
> 
> Personal bottom line: When a PR is motivated by performance, suggested 
> benefits should be demonstrated through benchmarks.
> 
> Very bottom line: I do not claim that this PR has no performance benefits.
> 
> Final bottom line: Performance claims need proofs and the proof needs to fit 
> in the margin.

@eirbjo added benchmark

aster

Benchmark                                                             Mode  Cnt 
     Score     Error   Units
BufferedInputStreamBenchmark.readAllBytes                             avgt   20 
     4.717 ±   0.620   us/op
BufferedInputStreamBenchmark.readAllBytes:·gc.alloc.rate              avgt   20 
  5313.239 ± 678.404  MB/sec
BufferedInputStreamBenchmark.readAllBytes:·gc.alloc.rate.norm         avgt   20 
 25752.007 ±   0.001    B/op
BufferedInputStreamBenchmark.readAllBytes:·gc.count                   avgt   20 
   201.000            counts
BufferedInputStreamBenchmark.readAllBytes:·gc.time                    avgt   20 
   840.000                ms
BufferedInputStreamBenchmark.readAllBytesCascade                      avgt   20 
     8.815 ±   5.016   us/op
BufferedInputStreamBenchmark.readAllBytesCascade:·gc.alloc.rate       avgt   20 
  4156.740 ± 685.852  MB/sec
BufferedInputStreamBenchmark.readAllBytesCascade:·gc.alloc.rate.norm  avgt   20 
 34064.013 ±   0.007    B/op
BufferedInputStreamBenchmark.readAllBytesCascade:·gc.count            avgt   20 
   138.000            counts
BufferedInputStreamBenchmark.readAllBytesCascade:·gc.time             avgt   20 
   933.000                ms


8304745

Benchmark                                                             Mode  Cnt 
     Score     Error   Units
BufferedInputStreamBenchmark.readAllBytes                             avgt   20 
     2.931 ±   0.208   us/op
BufferedInputStreamBenchmark.readAllBytes:·gc.alloc.rate              avgt   20 
  5738.023 ± 369.653  MB/sec
BufferedInputStreamBenchmark.readAllBytes:·gc.alloc.rate.norm         avgt   20 
 17552.004 ±   0.001    B/op
BufferedInputStreamBenchmark.readAllBytes:·gc.count                   avgt   20 
   168.000            counts
BufferedInputStreamBenchmark.readAllBytes:·gc.time                    avgt   20 
  1254.000                ms
BufferedInputStreamBenchmark.readAllBytesCascade                      avgt   20 
     3.219 ±   0.177   us/op
BufferedInputStreamBenchmark.readAllBytesCascade:·gc.alloc.rate       avgt   20 
  5247.600 ± 288.255  MB/sec
BufferedInputStreamBenchmark.readAllBytesCascade:·gc.alloc.rate.norm  avgt   20 
 17664.005 ±   0.001    B/op
BufferedInputStreamBenchmark.readAllBytesCascade:·gc.count            avgt   20 
   157.000            counts
BufferedInputStreamBenchmark.readAllBytesCascade:·gc.time             avgt   20 
  1168.000                ms

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

PR Comment: https://git.openjdk.org/jdk/pull/13150#issuecomment-1483001720

Reply via email to