Testing and benchmarking for ProjectMapK deliverables.
This benchmark is a simple one for data class
with 5 fields and 20 fields.
A comparison of KMapper
, BoundKMapper
, some other mapping libraries, and manual mapping.
See also java-object-mapper-benchmark for a comparison with other mapping libraries.
Benchmark Mode Cnt Score Error Units
c.m.kmapper.FiveArgsBenchmark.boundKMapper thrpt 4 1881569.917 ± 167687.395 ops/s
c.m.kmapper.FiveArgsBenchmark.kMapper thrpt 4 918028.639 ± 70749.740 ops/s
c.m.kmapper.FiveArgsBenchmark.manual thrpt 4 51043446.918 ± 1701820.524 ops/s
c.m.kmapper.FiveArgsBenchmark.mapStruct thrpt 4 43095032.184 ± 1673529.682 ops/s
c.m.kmapper.FiveArgsBenchmark.mapStructConstructor thrpt 4 41170101.739 ± 10857918.052 ops/s
c.m.kmapper.FiveArgsBenchmark.modelMapper thrpt 4 152843.152 ± 24307.984 ops/s
c.m.kmapper.FiveArgsBenchmark.orika thrpt 4 3631909.739 ± 99847.838 ops/s
c.m.kmapper.TwentyArgsBenchmark.boundKMapper thrpt 4 529947.475 ± 20656.669 ops/s
c.m.kmapper.TwentyArgsBenchmark.kMapper thrpt 4 226232.207 ± 22438.183 ops/s
c.m.kmapper.TwentyArgsBenchmark.manual thrpt 4 21821032.043 ± 458163.893 ops/s
c.m.kmapper.TwentyArgsBenchmark.mapStruct thrpt 4 22312415.193 ± 477644.647 ops/s
c.m.kmapper.TwentyArgsBenchmark.mapStructConstructor thrpt 4 18087503.877 ± 1605482.475 ops/s
c.m.kmapper.TwentyArgsBenchmark.modelMapper thrpt 4 40300.300 ± 5979.843 ops/s
c.m.kmapper.TwentyArgsBenchmark.orika thrpt 4 3151262.014 ± 221691.985 ops/s
The following three libraries were used for comparison.
Since 1.4.0.Final
supports constructor calls, which can be used in Kotlin
's data class
, it is used for comparison.
In the benchmark based on java-object-mapper-benchmark,
it was faster than KMapper
and BoundKMapper
, it is used for comparison.
This is the library that led to the creation of KMapper
, it is used for comparison.
A comparison of KRowMapper
, BeanPropertyRowMapper
, and manual mapping.
c.m.krowmapper.FiveArgsBenchmark.beanPropertyRowMapper thrpt 4 112537.259 ± 5462.588 ops/s
c.m.krowmapper.FiveArgsBenchmark.kRowMapper thrpt 4 1222436.555 ± 157389.056 ops/s
c.m.krowmapper.FiveArgsBenchmark.manual thrpt 4 3273297.552 ± 638106.756 ops/s
c.m.krowmapper.TwentyArgsBenchmark.beanPropertyRowMapper thrpt 4 15399.234 ± 1162.254 ops/s
c.m.krowmapper.TwentyArgsBenchmark.kRowMapper thrpt 4 335197.138 ± 19255.629 ops/s
c.m.krowmapper.TwentyArgsBenchmark.manual thrpt 4 760402.555 ± 15925.221 ops/s