Skip to content

Commit 11238c3

Browse files
committed
InputStream test. Updated readme.
Add missing test for reading off InputStream. Updated DSL-JSON to v1.0 Updated README with latest run.
1 parent 2cdcc34 commit 11238c3

21 files changed

+192
-6
lines changed

pom.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,16 +146,22 @@
146146
<dependency>
147147
<groupId>com.dslplatform</groupId>
148148
<artifactId>dsl-json</artifactId>
149-
<version>0.9.5</version>
149+
<version>1.0.0</version>
150150
</dependency>
151151

152152
<dependency>
153153
<groupId>com.dslplatform</groupId>
154154
<artifactId>dsl-json-processor</artifactId>
155-
<version>0.4</version>
155+
<version>1.0</version>
156156
<scope>provided</scope>
157157
</dependency>
158158

159+
<dependency>
160+
<groupId>commons-io</groupId>
161+
<artifactId>commons-io</artifactId>
162+
<version>2.5</version>
163+
</dependency>
164+
159165
</dependencies>
160166

161167
<build>

src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadMapBoon.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.cowtowncoder.jsonperf.dzone.read;
22

3+
import java.io.InputStream;
34
import java.util.Map;
45
import java.util.concurrent.TimeUnit;
56

@@ -26,6 +27,11 @@ public Map<?,?> _readItems(byte[] input) throws Exception {
2627
return mapper.readValue(input, Map.class);
2728
}
2829

30+
@Override
31+
public Map<?,?> _readItems(InputStream input) throws Exception {
32+
return mapper.readValue(input, Map.class);
33+
}
34+
2935
@Override
3036
public Map<?,?> _readItems(String input) throws Exception {
3137
return mapper.readValue(input, Map.class);
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.cowtowncoder.jsonperf.dzone.read;
2+
3+
import com.dslplatform.json.DslJson;
4+
import org.openjdk.jmh.annotations.OutputTimeUnit;
5+
import org.openjdk.jmh.annotations.Scope;
6+
import org.openjdk.jmh.annotations.State;
7+
8+
import java.io.InputStream;
9+
import java.util.Map;
10+
import java.util.concurrent.TimeUnit;
11+
12+
@State(Scope.Thread)
13+
@OutputTimeUnit(TimeUnit.SECONDS)
14+
public class DZoneReadMapDslJson extends DZoneReadTestBase<Map<String, Object>>
15+
{
16+
private final DslJson<Object> dsl;
17+
private final byte[] buffer = new byte[8196];
18+
19+
public DZoneReadMapDslJson()
20+
{
21+
dsl = new DslJson<>();
22+
}
23+
24+
@SuppressWarnings("unchecked")
25+
@Override
26+
public Map<String, Object> _readItems(byte[] input) throws Exception {
27+
return dsl.deserialize(Map.class, input, input.length);
28+
}
29+
30+
@SuppressWarnings("unchecked")
31+
@Override
32+
public Map<String, Object> _readItems(InputStream input) throws Exception {
33+
return dsl.deserialize(Map.class, input, buffer);
34+
}
35+
36+
@Override
37+
public Map<String, Object> _readItems(String input) throws Exception {
38+
return _readItems(input.getBytes("UTF-8"));
39+
}
40+
}

src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadMapFastjson.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.cowtowncoder.jsonperf.dzone.read;
22

3+
import java.io.InputStream;
34
import java.util.Map;
45
import java.util.concurrent.TimeUnit;
56

@@ -25,6 +26,12 @@ public Map<Object,Object> _readItems(byte[] input) throws Exception {
2526
return (Map<Object,Object>) JSON.parse(input, Feature.DisableCircularReferenceDetect);
2627
}
2728

29+
@SuppressWarnings("unchecked")
30+
@Override
31+
public Map<Object,Object> _readItems(InputStream input) throws Exception {
32+
return (Map<Object,Object>) JSON.parseObject(input, Map.class, Feature.DisableCircularReferenceDetect);
33+
}
34+
2835
@SuppressWarnings("unchecked")
2936
@Override
3037
public Map<Object,Object> _readItems(String input) throws Exception {

src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadMapGSON.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@ public DZoneReadMapGSON()
2424

2525
@Override
2626
public Map<?,?> _readItems(byte[] input) throws Exception {
27-
InputStreamReader r = new InputStreamReader(new ByteArrayInputStream(input), "UTF-8");
27+
return _readItems(new ByteArrayInputStream(input));
28+
}
29+
30+
@Override
31+
public Map<?,?> _readItems(InputStream input) throws Exception {
32+
InputStreamReader r = new InputStreamReader(input, "UTF-8");
2833
Map<?,?> value = gson.fromJson(r, Map.class);
2934
r.close();
3035
return value;

src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadMapJackson.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.cowtowncoder.jsonperf.dzone.read;
22

3+
import java.io.InputStream;
34
import java.util.Map;
45
import java.util.concurrent.TimeUnit;
56

@@ -26,6 +27,11 @@ public Map<Object,Object> _readItems(byte[] input) throws Exception {
2627
return objectReader.readValue(input);
2728
}
2829

30+
@Override
31+
public Map<Object,Object> _readItems(InputStream input) throws Exception {
32+
return objectReader.readValue(input);
33+
}
34+
2935
@Override
3036
public Map<Object,Object> _readItems(String input) throws Exception {
3137
return objectReader.readValue(input);

src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadMapJacksonJr.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.cowtowncoder.jsonperf.dzone.read;
22

3+
import java.io.InputStream;
34
import java.util.Map;
45
import java.util.concurrent.TimeUnit;
56

@@ -25,6 +26,11 @@ public Map<?,?> _readItems(byte[] input) throws Exception {
2526
return json.mapFrom(input);
2627
}
2728

29+
@Override
30+
public Map<?,?> _readItems(InputStream input) throws Exception {
31+
return json.mapFrom(input);
32+
}
33+
2834
@Override
2935
public Map<?,?> _readItems(String input) throws Exception {
3036
return json.mapFrom(input);

src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadMapJohnzon.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.cowtowncoder.jsonperf.dzone.read;
22

33
import java.io.ByteArrayInputStream;
4+
import java.io.InputStream;
45
import java.util.Map;
56
import java.util.concurrent.TimeUnit;
67

@@ -23,8 +24,13 @@ public DZoneReadMapJohnzon()
2324

2425
@Override
2526
public Map<?,?> _readItems(byte[] input) throws Exception {
27+
return _readItems(new ByteArrayInputStream(input));
28+
}
29+
30+
@Override
31+
public Map<?,?> _readItems(InputStream input) throws Exception {
2632
// force assign to ensure casting checks the type
27-
Map<?,?> value = mapper.readObject(new ByteArrayInputStream(input), Object.class);
33+
Map<?,?> value = mapper.readObject(input, Object.class);
2834
return value;
2935
}
3036

src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadMapJsonIO.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ public DZoneReadMapJsonIO() { }
1818

1919
@Override
2020
public Map<?,?> _readItems(byte[] input) throws Exception {
21-
JsonReader r = new JsonReader(new ByteArrayInputStream(input));
21+
return _readItems(new ByteArrayInputStream(input));
22+
}
23+
24+
@Override
25+
public Map<?,?> _readItems(InputStream input) throws Exception {
26+
JsonReader r = new JsonReader(input);
2227
Map<?,?> value = (Map<?,?>) r.readObject();
2328
r.close();
2429
return value;

src/main/java/com/cowtowncoder/jsonperf/dzone/read/DZoneReadMapJsonMoshi.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package com.cowtowncoder.jsonperf.dzone.read;
22

3+
import java.io.InputStream;
34
import java.util.Map;
45
import java.util.concurrent.TimeUnit;
56

7+
import org.apache.commons.io.IOUtils;
68
import org.openjdk.jmh.annotations.OutputTimeUnit;
79
import org.openjdk.jmh.annotations.Scope;
810
import org.openjdk.jmh.annotations.State;
@@ -30,6 +32,11 @@ public Map _readItems(byte[] input) throws Exception {
3032
return adapter.fromJson(new String(input, "UTF-8"));
3133
}
3234

35+
@Override
36+
public Map _readItems(InputStream input) throws Exception {
37+
return adapter.fromJson(IOUtils.toString(input, "UTF-8"));
38+
}
39+
3340
@Override
3441
public Map _readItems(String input) throws Exception {
3542
return adapter.fromJson(input);

0 commit comments

Comments
 (0)