Skip to content
  • Jason Zaugg's avatar
    Create a dedicated benchmark for ClassWriter reuse · 0d0558a3
    Jason Zaugg authored
    Test with a dump of scala/Predef.class for a more realistic workload
    than the previous "hello world" example n ASMGenerator.
    
    ```
    Benchmark                                                                   Mode  Cnt       Score      Error   Units
    ClassWriterBenchmark.recreateClassWriter                                   thrpt   20   19663.640 ±  539.701   ops/s
    ClassWriterBenchmark.recreateClassWriter:+memory.used                      thrpt   20       0.233 ±    0.377   bytes
    ClassWriterBenchmark.recreateClassWriter:·gc.alloc.rate                    thrpt   20    1542.841 ±   42.255  MB/sec
    ClassWriterBenchmark.recreateClassWriter:·gc.alloc.rate.norm               thrpt   20  123578.119 ±    8.020    B/op
    ClassWriterBenchmark.recreateClassWriter:·gc.churn.PS_Eden_Space           thrpt   20    1490.451 ±   62.050  MB/sec
    ClassWriterBenchmark.recreateClassWriter:·gc.churn.PS_Eden_Space.norm      thrpt   20  119352.164 ± 2918.083    B/op
    ClassWriterBenchmark.recreateClassWriter:·gc.churn.PS_Survivor_Space       thrpt   20       0.216 ±    0.036  MB/sec
    ClassWriterBenchmark.recreateClassWriter:·gc.churn.PS_Survivor_Space.norm  thrpt   20      17.329 ±    2.857    B/op
    ClassWriterBenchmark.recreateClassWriter:·gc.count                         thrpt   20     234.000             counts
    ClassWriterBenchmark.recreateClassWriter:·gc.time                          thrpt   20     164.000                 ms
    ClassWriterBenchmark.recreateClassWriter:·stack                            thrpt              NaN                ---
    ClassWriterBenchmark.reuseClassWriter                                      thrpt   20   23196.568 ±  525.351   ops/s
    ClassWriterBenchmark.reuseClassWriter:+memory.used                         thrpt   20         ≈ 0              bytes
    ClassWriterBenchmark.reuseClassWriter:·gc.alloc.rate                       thrpt   20     857.921 ±   19.528  MB/sec
    ClassWriterBenchmark.reuseClassWriter:·gc.alloc.rate.norm                  thrpt   20   58280.049 ±    0.103    B/op
    ClassWriterBenchmark.reuseClassWriter:·gc.churn.PS_Eden_Space              thrpt   20     815.545 ±   23.318  MB/sec
    ClassWriterBenchmark.reuseClassWriter:·gc.churn.PS_Eden_Space.norm         thrpt   20   55409.507 ± 1280.670    B/op
    ClassWriterBenchmark.reuseClassWriter:·gc.churn.PS_Survivor_Space          thrpt   20       0.217 ±    0.063  MB/sec
    ClassWriterBenchmark.reuseClassWriter:·gc.churn.PS_Survivor_Space.norm     thrpt   20      14.704 ±    4.255    B/op
    ClassWriterBenchmark.reuseClassWriter:·gc.count                            thrpt   20     213.000             counts
    ClassWriterBenchmark.reuseClassWriter:·gc.time                             thrpt   20     159.000                 ms
    ClassWriterBenchmark.reuseClassWriter:·stack                               thrpt              NaN                ---
    ```
    0d0558a3