anton-vinogradov commented on PR #13325:
URL: https://github.com/apache/ignite/pull/13325#issuecomment-4876442170

   Re-ran the benchmark on the final revision (after review follow-ups: 
explicit truncated-stream check in `uncompress()`, `ArrayList` pre-sizing). 
Three-way comparison, same JDK 17 / M-series box:
   
   | entries | master | initial patch | final revision |
   |---|---|---|---|
   | 30, ops/s | 15,238 ± 34,755 | 100,917 ± 6,159 | 90,703 ± 15,047 |
   | 30, heap B/op | 66,704 | 25,248 | 27,992 |
   | 500, ops/s | 4,381 ± 306 | 5,760 ± 464 | 6,128 ± 900 |
   | 500, heap B/op | 522,632 | 430,896 | 430,784 |
   
   Takeaways:
   * **~6x at 30 entries.** Master throughput collapses under per-message 
direct allocations (`Bits.reserveMemory` → GC storms), visible as the ±228% 
error band; both patched revisions are stable.
   * **+40% at 500 entries, −18% heap B/op** — plus all per-message direct 
buffer allocations (~365KB/op at 500 entries, invisible to `gc.alloc.rate`) are 
gone.
   * The throughput difference between the two patched revisions is within 
run-to-run error (intervals overlap). The small per-op allocation delta at 30 
entries (25.2K vs 28.0K B/op) is JIT/escape-analysis variation across forks; 
both are far below master's 66.7K.
   
   <details><summary>Full JMH output (final revision)</summary>
   
   ```
   JmhDirectMessageReaderBenchmark.compressedMessage                            
30  thrpt    5   90703,107 ± 15047,013   ops/s
   JmhDirectMessageReaderBenchmark.compressedMessage:gc.alloc.rate              
30  thrpt    5    2421,207 ±   401,592  MB/sec
   JmhDirectMessageReaderBenchmark.compressedMessage:gc.alloc.rate.norm         
30  thrpt    5   27992,022 ±     0,004    B/op
   JmhDirectMessageReaderBenchmark.compressedMessage:gc.count                   
30  thrpt    5     108,000              counts
   JmhDirectMessageReaderBenchmark.compressedMessage:gc.time                    
30  thrpt    5      62,000                  ms
   JmhDirectMessageReaderBenchmark.compressedMessage                           
500  thrpt    5    6127,515 ±   900,154   ops/s
   JmhDirectMessageReaderBenchmark.compressedMessage:gc.alloc.rate             
500  thrpt    5    2517,239 ±   369,832  MB/sec
   JmhDirectMessageReaderBenchmark.compressedMessage:gc.alloc.rate.norm        
500  thrpt    5  430784,325 ±     0,053    B/op
   JmhDirectMessageReaderBenchmark.compressedMessage:gc.count                  
500  thrpt    5      91,000              counts
   JmhDirectMessageReaderBenchmark.compressedMessage:gc.time                   
500  thrpt    5      38,000                  ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to