On Thu, 27 Mar 2025 17:38:49 GMT, David M. Lloyd <d...@openjdk.org> wrote:
>> Provide method overloads to the ClassFile interface of the >> java.lang.classfile API which allow parsing of classes found in memory >> segments, as well as allowing built class files to be output to them. > > David M. Lloyd has updated the pull request incrementally with one additional > commit since the last revision: > > Add a benchmark for class file emission I have two problems with the numbers you measured: 1. The benchmarked transformation runs on pre-parsed class and does nothing, so technically it measures mainly the memory copy process. 2. In the discussions there were mentioned memory mapped files as a use case for the off-heap targeting of the classes. When I modify `ClassfileBenchmark` to replicate your scenario I get these numbers: Benchmark Mode Cnt Score Error Units ClassfileBenchmark.transformWithAddedNOP thrpt 5 31542.151 ? 63.838 ops/s ClassfileBenchmark.transformWithAddedNOPWithoutCopy thrpt 5 31738.045 ? 105.725 ops/s ClassfileBenchmark.transformWithNewCP thrpt 5 23514.061 ? 91.453 ops/s ClassfileBenchmark.transformWithNewCPWithoutCopy thrpt 5 23824.561 ? 532.565 ops/s ClassfileBenchmark.transformWithSharedCP thrpt 5 66083.564 ? 231.388 ops/s ClassfileBenchmark.transformWithSharedCPWithoutCopy thrpt 5 66780.329 ? 298.292 ops/s So my measured performance benefit is around 1% and even that will vaporize when writing to physical files as inteded. Unfortunately I could not recommend this PR. ------------- PR Comment: https://git.openjdk.org/jdk/pull/24139#issuecomment-2759659040