1
1
package com .javaetmoi .benchmark ;
2
2
3
- import java .util .Collection ;
4
- import java .util .concurrent .TimeUnit ;
5
-
3
+ import com .javaetmoi .benchmark .mapping .mapper .OrderMapper ;
6
4
import com .javaetmoi .benchmark .mapping .mapper .bull .BullMapper ;
7
5
import com .javaetmoi .benchmark .mapping .mapper .datus .DatusMapper ;
6
+ import com .javaetmoi .benchmark .mapping .mapper .dozer .DozerMapper ;
7
+ import com .javaetmoi .benchmark .mapping .mapper .jmapper .JMapperMapper ;
8
+ import com .javaetmoi .benchmark .mapping .mapper .manual .ManualMapper ;
9
+ import com .javaetmoi .benchmark .mapping .mapper .mapstruct .MapStructMapper ;
10
+ import com .javaetmoi .benchmark .mapping .mapper .modelmapper .ModelMapper ;
11
+ import com .javaetmoi .benchmark .mapping .mapper .orika .OrikaMapper ;
12
+ import com .javaetmoi .benchmark .mapping .mapper .remappe .ReMappeMapper ;
13
+ import com .javaetmoi .benchmark .mapping .mapper .selma .SelmaMapper ;
8
14
import com .javaetmoi .benchmark .mapping .model .dto .OrderDTO ;
9
15
import com .javaetmoi .benchmark .mapping .model .entity .Order ;
16
+ import com .javaetmoi .benchmark .mapping .model .entity .OrderFactory ;
10
17
import org .openjdk .jmh .annotations .*;
11
18
import org .openjdk .jmh .results .Result ;
12
19
import org .openjdk .jmh .results .RunResult ;
15
22
import org .openjdk .jmh .runner .options .Options ;
16
23
import org .openjdk .jmh .runner .options .OptionsBuilder ;
17
24
18
- import com .javaetmoi .benchmark .mapping .mapper .OrderMapper ;
19
- import com .javaetmoi .benchmark .mapping .mapper .dozer .DozerMapper ;
20
- import com .javaetmoi .benchmark .mapping .mapper .jmapper .JMapperMapper ;
21
- import com .javaetmoi .benchmark .mapping .mapper .manual .ManualMapper ;
22
- import com .javaetmoi .benchmark .mapping .mapper .mapstruct .MapStructMapper ;
23
- import com .javaetmoi .benchmark .mapping .mapper .modelmapper .ModelMapper ;
24
- import com .javaetmoi .benchmark .mapping .mapper .orika .OrikaMapper ;
25
- import com .javaetmoi .benchmark .mapping .mapper .selma .SelmaMapper ;
26
- import com .javaetmoi .benchmark .mapping .model .entity .OrderFactory ;
27
- import org .openjdk .jmh .runner .options .TimeValue ;
25
+ import java .util .Collection ;
28
26
29
27
@ State (Scope .Benchmark )
30
28
public class MapperBenchmark {
31
29
32
- @ Param ({"Manual" , "MapStruct" , "Selma" , "JMapper" , "datus" , "Orika" , "ModelMapper" , "BULL" , "Dozer" })
30
+ @ Param ({"Manual" , "MapStruct" , "Selma" , "JMapper" , "datus" , "Orika" , "ModelMapper" , "BULL" , "Dozer" , "ReMap " })
33
31
private String type ;
34
32
35
33
private OrderMapper mapper ;
36
34
private Order order ;
37
35
38
36
@ Setup (Level .Trial )
39
- public void setup (){
37
+ public void setup () {
40
38
switch (type ) {
41
39
case "Dozer" :
42
40
mapper = new DozerMapper ();
@@ -65,13 +63,16 @@ public void setup(){
65
63
case "datus" :
66
64
mapper = new DatusMapper ();
67
65
break ;
66
+ case "ReMap" :
67
+ mapper = new ReMappeMapper ();
68
+ break ;
68
69
default :
69
70
throw new IllegalStateException ("Unknown type: " + type );
70
71
}
71
72
}
72
73
73
74
@ Setup (Level .Iteration )
74
- public void preInit (){
75
+ public void preInit () {
75
76
order = OrderFactory .buildOrder ();
76
77
}
77
78
@@ -82,21 +83,21 @@ public OrderDTO mapper() {
82
83
83
84
public static void main (String ... args ) throws Exception {
84
85
Options opts = new OptionsBuilder ()
85
- .include (MapperBenchmark .class .getSimpleName ())
86
- .warmupIterations (5 )
87
- .measurementIterations (5 )
88
- .jvmArgs ("-server" )
89
- .forks (1 )
90
- .resultFormat (ResultFormatType .TEXT )
91
- .build ();
86
+ .include (MapperBenchmark .class .getSimpleName ())
87
+ .warmupIterations (5 )
88
+ .measurementIterations (5 )
89
+ .jvmArgs ("-server" )
90
+ .forks (1 )
91
+ .resultFormat (ResultFormatType .TEXT )
92
+ .build ();
92
93
93
94
Collection <RunResult > results = new Runner (opts ).run ();
94
95
for (RunResult result : results ) {
95
96
Result <?> r = result .getPrimaryResult ();
96
97
System .out .println ("API replied benchmark score: "
97
- + r .getScore () + " "
98
- + r .getScoreUnit () + " over "
99
- + r .getStatistics ().getN () + " iterations" );
98
+ + r .getScore () + " "
99
+ + r .getScoreUnit () + " over "
100
+ + r .getStatistics ().getN () + " iterations" );
100
101
}
101
102
}
102
103
0 commit comments