14
14
import org .openjdk .jmh .runner .RunnerException ;
15
15
16
16
import java .io .IOException ;
17
+ import java .util .Arrays ;
18
+ import java .util .List ;
17
19
import java .util .concurrent .TimeUnit ;
18
20
19
21
import static org .junit .Assert .assertEquals ;
25
27
@ State (Scope .Thread )
26
28
public class DeserJsoniter {
27
29
28
- private byte [] testJSON ;
30
+ private List < byte []> testJSON ;
29
31
private JsonIterator iter ;
30
32
private TypeLiteral <TestObject > typeLiteral ;
31
33
32
34
@ Setup (Level .Trial )
33
35
public void benchSetup (BenchmarkParams params ) {
34
36
JsonStream .setMode (EncodingMode .DYNAMIC_MODE );
35
37
JsonIterator .setMode (DecodingMode .DYNAMIC_MODE_AND_MATCH_FIELD_WITH_HASH );
36
- testJSON = TestObject .createTestJSON ();
38
+ testJSON = Arrays .asList (
39
+ TestObject .createRandomTestJson (),
40
+ TestObject .createRandomTestJson (),
41
+ TestObject .createRandomTestJson (),
42
+ TestObject .createRandomTestJson (),
43
+ TestObject .createRandomTestJson (),
44
+ TestObject .createRandomTestJson (),
45
+ TestObject .createRandomTestJson (),
46
+ TestObject .createRandomTestJson (),
47
+ TestObject .createRandomTestJson (),
48
+ TestObject .createRandomTestJson ());
49
+ // byte[] fixed = TestObject.createRandomTestJson();
50
+ // testJSON = Arrays.asList(
51
+ // fixed,
52
+ // fixed,
53
+ // fixed,
54
+ // fixed,
55
+ // fixed,
56
+ // fixed,
57
+ // fixed,
58
+ // fixed,
59
+ // fixed,
60
+ // fixed);
37
61
iter = new JsonIterator ();
38
62
typeLiteral = TypeLiteral .create (TestObject .class );
39
63
}
@@ -43,16 +67,16 @@ public void benchSetup(BenchmarkParams params) {
43
67
@ OutputTimeUnit (TimeUnit .NANOSECONDS )
44
68
public void deser (Blackhole bh ) throws IOException {
45
69
for (int i = 0 ; i < 1000 ; i ++) {
46
- iter .reset (testJSON );
70
+ iter .reset (testJSON . get ( i % 10 ) );
47
71
bh .consume (iter .read (typeLiteral ));
48
72
}
49
73
}
50
74
51
75
@ Test
52
76
public void test () throws IOException {
53
77
benchSetup (null );
54
- System .out .println (new String (testJSON ));
55
- iter .reset (testJSON );
78
+ System .out .println (new String (testJSON . get ( 0 ) ));
79
+ iter .reset (testJSON . get ( 0 ) );
56
80
assertEquals (31415926 , iter .read (typeLiteral ).field1 );
57
81
}
58
82
0 commit comments