Skip to content

Fix the performance regression from 6.1 by splitting the generic cache into specific ones.

Eric Bruneton requested to merge fix-performance-regression into master

Result of benchmarks with current code:

run1:

Benchmark                                  Mode  Cnt      Score    Error  Units
AdapterBenchmark.getClassInfo_asm6_1      thrpt   30  14141,922 ± 41,536  ops/s
AdapterBenchmark.getClassInfo_asmCurrent  thrpt   30  14819,696 ± 42,003  ops/s
AdapterBenchmark.read_asm6_1              thrpt   30    646,597 ±  1,359  ops/s
AdapterBenchmark.read_asmCurrent          thrpt   30    628,984 ±  1,697  ops/s

run2:

Benchmark                                  Mode  Cnt      Score    Error  Units
AdapterBenchmark.getClassInfo_asm6_1      thrpt   30  14082,588 ± 42,736  ops/s
AdapterBenchmark.getClassInfo_asmCurrent  thrpt   30  14628,865 ± 35,585  ops/s
AdapterBenchmark.read_asm6_1              thrpt   30    639,519 ±  1,366  ops/s
AdapterBenchmark.read_asmCurrent          thrpt   30    624,722 ±  1,665  ops/s

Result of benchmark with proposed change:

run1:

Benchmark                                  Mode  Cnt      Score    Error  Units
AdapterBenchmark.getClassInfo_asm6_1      thrpt   30  14043,245 ± 52,400  ops/s
AdapterBenchmark.getClassInfo_asmCurrent  thrpt   30  14623,223 ± 41,837  ops/s
AdapterBenchmark.read_asm6_1              thrpt   30    644,845 ±  1,593  ops/s
AdapterBenchmark.read_asmCurrent          thrpt   30    645,371 ±  1,641  ops/s

run2:

Benchmark                                  Mode  Cnt      Score    Error  Units
AdapterBenchmark.getClassInfo_asm6_1      thrpt   30  14223,612 ± 48,813  ops/s
AdapterBenchmark.getClassInfo_asmCurrent  thrpt   30  15119,416 ± 47,059  ops/s
AdapterBenchmark.read_asm6_1              thrpt   30    638,051 ±  1,492  ops/s
AdapterBenchmark.read_asmCurrent          thrpt   30    640,978 ±  1,493  ops/s

Merge request reports