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]
