Skip to content

Commit a38141d

Browse files
committed
toJsonString benchmark
1 parent 5888ff1 commit a38141d

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

src/test/java/com/arangodb/velocypack/Bench.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.arangodb.velocypack;
22

33
import com.arangodb.jackson.dataformat.velocypack.VPackMapper;
4+
import com.arangodb.velocypack.exception.VPackBuilderException;
5+
import com.fasterxml.jackson.core.JsonFactory;
6+
import com.fasterxml.jackson.core.JsonGenerator;
47
import com.fasterxml.jackson.core.JsonProcessingException;
58
import com.fasterxml.jackson.databind.JsonNode;
69
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -14,6 +17,7 @@
1417
import org.openjdk.jmh.runner.options.OptionsBuilder;
1518

1619
import java.io.IOException;
20+
import java.io.StringWriter;
1721
import java.nio.file.Files;
1822
import java.nio.file.Path;
1923
import java.nio.file.Paths;
@@ -140,4 +144,28 @@ public void toJsonJackson(Data data, Blackhole bh) throws IOException {
140144
bh.consume(str);
141145
}
142146

147+
@Benchmark
148+
public void toJsonString(Data data, Blackhole bh) {
149+
String json = VPackParser.toJSONString(data.str);
150+
bh.consume(json);
151+
}
152+
153+
@Benchmark
154+
public void toJsonStringJackson(Data data, Blackhole bh) {
155+
String json = toJSONStringJackson(data.str);
156+
bh.consume(json);
157+
}
158+
159+
private static String toJSONStringJackson(final String text) {
160+
final StringWriter writer = new StringWriter();
161+
try {
162+
final JsonGenerator generator = new JsonFactory().createGenerator(writer);
163+
generator.writeString(text);
164+
generator.close();
165+
} catch (final IOException e) {
166+
throw new VPackBuilderException(e);
167+
}
168+
return writer.toString();
169+
}
170+
143171
}

0 commit comments

Comments
 (0)