Skip to content

Commit 49100a7

Browse files
committed
Add BEAN_WITH_LARGE_KEY_MAP to JsonArbitraryFieldNameBenchmark
1 parent 8821d54 commit 49100a7

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/main/java/com/fasterxml/jackson/perf/json/JsonArbitraryFieldNameBenchmark.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,33 @@ public enum InputShape {
120120
},
121121
() -> "{\"fieldWithMap\":{\"" + ThreadLocalRandom.current().nextInt()
122122
+ "\":true},\"stringOne\":\"a\",\"stringTwo\":\"a\",\"stringThree\":\"a\"}"),
123+
BEAN_WITH_LARGE_KEY_MAP(
124+
new TypeReference<SimpleClass>() {
125+
},
126+
new Supplier<String>() {
127+
private final String json = generateSimpleInstanceJson(10_000);
128+
129+
@Override
130+
public String get() {
131+
return json;
132+
}
133+
}
134+
),
123135
;
124136

137+
private static String generateSimpleInstanceJson(int n) {
138+
StringBuilder builder = new StringBuilder();
139+
builder.append("{\"fieldWithMap\":{");
140+
for (int i = 0; i < n; i++) {
141+
builder.append("\"").append(i).append("\":").append(i % 2 == 0);
142+
if (i < n-1) {
143+
builder.append(',');
144+
}
145+
}
146+
builder.append("},\"stringOne\":\"a\",\"stringTwo\":\"a\",\"stringThree\":\"a\"}");
147+
return builder.toString();
148+
}
149+
125150
private final TypeReference<?> typereference;
126151
private final Supplier<byte[]> bytesSupplier;
127152

0 commit comments

Comments
 (0)