Skip to content

Commit 4609e88

Browse files
committed
add benchmark data
1 parent 102ebf8 commit 4609e88

File tree

6 files changed

+1477
-9
lines changed

6 files changed

+1477
-9
lines changed

benchmark/src/test/java/com/alibaba/fastjson2/benchmark/GenReport.java

Lines changed: 58 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
public class GenReport {
88
public void gen() throws Exception {
99
File dir = new File("/Users/wenshao/Work/git/fastjson2/docs/benchmark/");
10-
File file = new File(dir, "benchmark_2.0.33_raw.md");
11-
File outFile = new File(dir, "benchmark_2.0.33.md");
10+
File file = new File(dir, "benchmark_2.0.34_raw.md");
11+
File outFile = new File(dir, "benchmark_2.0.34.md");
1212

1313
Map<String, BenchmarkResult> benchResults = new LinkedHashMap<>();
1414

@@ -36,6 +36,7 @@ private static void gen(
3636
Map<String, BenchmarkResult> benchResults
3737
) throws FileNotFoundException {
3838
PrintStream out = new PrintStream(new FileOutputStream(outFile));
39+
int h1 = 0;
3940
for (BenchmarkResult benchmarkResult : benchResults.values()) {
4041
if (benchmarkResult.libraryResults.size() == 4) {
4142
LibResult fastjson2 = benchmarkResult.libraryResults.get("fastjson2");
@@ -119,7 +120,7 @@ private static void gen(
119120
}
120121
}
121122

122-
out.println("## " + benchmarkResult.benchmarkCase);
123+
out.println("## " + (++h1) + " " + benchmarkResult.benchmarkCase);
123124

124125
LibResult firLib = benchmarkResult.libraryResults.values().iterator().next();
125126
Set<String> jdks = firLib.scores.keySet();
@@ -138,6 +139,7 @@ private static void gen(
138139
out.print("|");
139140
out.println();
140141

142+
Set<String> eccWrited = new HashSet<>();
141143
for (String jdk : jdks) {
142144
double firstScore = benchmarkResult.libraryResults.values().iterator().next().scores.get(jdk);
143145

@@ -149,9 +151,17 @@ private static void gen(
149151
out.print(" | ");
150152
} else {
151153
String ecs = jdk.substring(0, p);
152-
out.print(ecs);
154+
155+
if (eccWrited.add(ecs)) {
156+
out.print(ecs);
157+
}
158+
153159
out.print(" | ");
154-
out.print(jdk.substring(p + 1));
160+
String jdkinfo = jdk.substring(p + 1);
161+
if (jdkinfo.startsWith("graalvm-jdk-")) {
162+
jdkinfo = "graalvm_" + jdkinfo.substring("graalvm-jdk-".length());
163+
}
164+
out.print(jdkinfo);
155165
}
156166

157167
int i = 0;
@@ -170,6 +180,49 @@ private static void gen(
170180
}
171181

172182
out.println();
183+
184+
LinkedHashMap<String, String[]> graalvm17_jdks = new LinkedHashMap<>();
185+
String jdk17 = null, graalvm17 = null;
186+
String jdk17_info = null, graalvm17_info = null;
187+
for (String jdk : jdks) {
188+
int p = jdk.indexOf('-');
189+
if (p == -1) {
190+
continue;
191+
}
192+
193+
String ecs = jdk.substring(0, p);
194+
String[] ecs_jdk17s = graalvm17_jdks.get(ecs);
195+
if (ecs_jdk17s == null) {
196+
ecs_jdk17s = new String[2];
197+
graalvm17_jdks.put(ecs, ecs_jdk17s);
198+
}
199+
200+
String jdkinfo = jdk.substring(p + 1);
201+
if (jdkinfo.startsWith("jdk-17.")) {
202+
jdk17 = jdk;
203+
jdk17_info = jdkinfo;
204+
ecs_jdk17s[0] = jdk;
205+
} else if (jdkinfo.startsWith("graalvm-jdk-17.")) {
206+
graalvm17 = jdk;
207+
graalvm17_info = jdkinfo;
208+
ecs_jdk17s[1] = jdk;
209+
}
210+
}
211+
212+
if (jdk17 != null && graalvm17 != null) {
213+
out.println();
214+
out.println("### " + h1 + ".1 jdk17 vs graalvm17");
215+
out.println("| ecs | library | " + jdk17_info + " | " + graalvm17_info + " | delta |");
216+
out.println("|-----|-----|-----|-----|-----|");
217+
for (LibResult libResult : benchmarkResult.libraryResults.values()) {
218+
for (Map.Entry<String, String[]> entry : graalvm17_jdks.entrySet()) {
219+
Double score_jdk17 = libResult.scores.get(entry.getValue()[0]);
220+
Double score_graalvm17 = libResult.scores.get(entry.getValue()[1]);
221+
double percent = (score_graalvm17 - score_jdk17) / score_jdk17;
222+
out.println("| " + entry.getKey() + " | " + libResult.library + " | " + score_jdk17 + " | " + score_graalvm17 + " | " + new DecimalFormat("#,##0.##%").format(percent) + " |");
223+
}
224+
}
225+
}
173226
}
174227
out.close();
175228
}

benchmark/src/test/java/com/alibaba/fastjson2/benchmark/ReadResult.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@
88

99
public class ReadResult {
1010
public static void main(String[] args) throws Exception {
11-
File outFile = new File("/Users/wenshao/Work/git/fastjson2/docs/benchmark/benchmark_2.0.33_raw.md");
11+
File outFile = new File("/Users/wenshao/Work/git/fastjson2/docs/benchmark/benchmark_2.0.34_raw.md");
1212
// File file = new File("/Users/wenshao/Downloads/result_2.0.25.out");
1313

1414
Map<String, String> files = new LinkedHashMap<>();
15-
files.put("aliyun_ecs.g8i.large", "/Users/wenshao/Downloads/result_2.0.33_g8i.out");
15+
files.put("aliyun_ecs.g8i.large", "/Users/wenshao/Downloads/result_2.0.34_g8i.out");
1616
// files.put("aliyun_ecs.g7.large", "/Users/wenshao/Downloads/result_2.0.33_g7.out");
17-
files.put("aliyun_ecs.g8y.large", "/Users/wenshao/Downloads/result_2.0.33_g8y.out");
17+
files.put("aliyun_ecs.g8y.large", "/Users/wenshao/Downloads/result_2.0.34_g8y.out");
1818
// files.put("aws_ecs.c6g.large", "/Users/wenshao/Downloads/result_2.0.33_aws_c6g.out");
1919
// files.put("aws_ecs.c7g.large", "/Users/wenshao/Downloads/result_2.0.33_aws_c7g.out");
20-
// files.put("OrangePI5", "/Users/wenshao/Downloads/result_2.0.33_orangepi5.out");
20+
files.put("orangepi5p", "/Users/wenshao/Downloads/result_2.0.34_orangepi5.out");
2121

2222
PrintStream out = new PrintStream(new FileOutputStream(outFile));
2323
files.forEach((k, v) -> {

benchmark/src/test/java/com/alibaba/fastjson2/benchmark/eishay/EishayParseUTF8BytesTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public static void jackson() throws Exception {
4646
// zulu8.62.0.19 : 963
4747
// zulu11.52.13 : 1058
4848
// zulu17.32.13 : 1064
49+
// graalvm_17.0.7 600
4950
}
5051
}
5152

benchmark/src/test/java/com/alibaba/fastjson2/benchmark/eishay/EishayWriteUTF8BytesTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public static void fastjson2() {
1818
// zulu11.52.13 : 337 314 289
1919
// zulu17.40.19 : 317 320 285
2020
// zulu17.40.19_vec : 267 250
21+
// graalvm_17.0.7 207
2122
}
2223
}
2324

0 commit comments

Comments
 (0)