fastjson2/docs/benchmark/benchmark_2.0.54.md

61 KiB
Raw Blame History

1. EishayFuryCompatibleParse

这个场景是JSONB格式和Fury CompatibleMode反序列化性能比较。基于KeyValue的映射对增加和删除字段的序列化结构都能有很好的兼容性。

aliyun ecs spec jdk version jsonb fury
aliyun_ecs.c8a.large jdk1.8.0_381 6081.312 6228.464 (102.42%)
jdk-11.0.20 8201.361 8623.876 (105.15%)
jdk-17.0.8 8698.634 8834.444 (101.56%)
jdk-21.0.2 9097.398 9493.715 (104.36%)
aliyun_ecs.c8i.large jdk1.8.0_381 5303.124 4666.571 (88%)
jdk-11.0.20 4403.71 4533.327 (102.94%)
jdk-17.0.8 4848.247 4996.358 (103.05%)
jdk-21.0.2 6783.576 6352.829 (93.65%)
graalvm_21+35.1 11936.666 9694.543 (81.22%)
aliyun_ecs.g8y.large zulu8.82.0.21 7979.655 8767.643 (109.87%)
jdk-11.0.20 9432.735 9446.78 (100.15%)
zulu17.54.21 10216.366 8846.319 (86.59%)
jdk-21.0.2 10229.298 10358.466 (101.26%)
graalvm_21+35.1 11777.128 11827.898 (100.43%)
orangepi5p zulu8.68.0.21 5851.915 6798.919 (116.18%)
jdk-11.0.19 6561.674 6953.318 (105.97%)
jdk-17.0.7 6615.386 6894.976 (104.23%)
jdk-21 6542.744 6939.212 (106.06%)
graalvm_21+35.1 8148.166 8335.202 (102.3%)
orangepi_aipro zulu8.82.0.21 1518.206 1441.875 (94.97%)
jdk-11.0.20 1841.048 1733.031 (94.13%)
jdk-17.0.8 2118.163 1968.868 (92.95%)
jdk-21.0.2 2094.366 2095.184 (100.04%)
graalvm_21+35.1 2017.459 2209.242 (109.51%)
MacBookM1Pro zulu-8.jdk 25989.239 22074.37 (84.94%)
zulu-11.jdk 20088.262 23852.468 (118.74%)
zulu-17.jdk 30144.153 31531.289 (104.6%)
zulu-21.jdk 29004.502 30435.252 (104.93%)
graalvm_21+35.1 38919.768 37053.03 (95.2%)

2. EishayFuryCompatibleWrite

这个场景是JSONB格式和Fury CompatibleMode序列化性能比较。基于KeyValue的映射对增加和删除字段的序列化结构都能有很好的兼容性。

aliyun ecs spec jdk version jsonb fury
aliyun_ecs.c8a.large jdk1.8.0_381 6562.569 6616.988 (100.83%)
jdk-11.0.20 7012.028 9038.891 (128.91%)
jdk-17.0.8 8186.663 10113.636 (123.54%)
jdk-21.0.2 8556.595 9183.925 (107.33%)
aliyun_ecs.c8i.large jdk1.8.0_381 3836.88 4477.196 (116.69%)
jdk-11.0.20 3634.298 3894.511 (107.16%)
jdk-17.0.8 3940.343 4981.453 (126.42%)
jdk-21.0.2 5519.787 5421.462 (98.22%)
graalvm_21+35.1 8903.562 8270.638 (92.89%)
aliyun_ecs.g8y.large zulu8.82.0.21 6684.383 6995.434 (104.65%)
jdk-11.0.20 7397.218 8430.177 (113.96%)
zulu17.54.21 7693.78 10654.147 (138.48%)
jdk-21.0.2 8031.984 8373.511 (104.25%)
graalvm_21+35.1 9579.778 7559.694 (78.91%)
orangepi5p zulu8.68.0.21 5397.853 6294.262 (116.61%)
jdk-11.0.19 5634.673 6925.861 (122.92%)
jdk-17.0.7 5505.278 5651.913 (102.66%)
jdk-21 5733.714 5866.086 (102.31%)
graalvm_21+35.1 7437.545 5912.106 (79.49%)
orangepi_aipro zulu8.82.0.21 1470.878 1632.664 (111%)
jdk-11.0.20 1529.29 1913.987 (125.16%)
jdk-17.0.8 1638.846 2338.99 (142.72%)
jdk-21.0.2 1720.998 2061.659 (119.79%)
graalvm_21+35.1 1937.884 1793.951 (92.57%)
MacBookM1Pro zulu-8.jdk 16900.872 9668.923 (57.21%)
zulu-11.jdk 20313.676 15523.55 (76.42%)
zulu-17.jdk 23587.429 19339.813 (81.99%)
zulu-21.jdk 30339.922 17499.556 (57.68%)
graalvm_21+35.1 31399.736 20868.433 (66.46%)

3. EishayParseBinary

这个场景是二进制反序列化比较JSONB格式、JSON UTF8编码(fastjson2UTF8Bytes)、hessian、javaSerialize的比较用于Apache dubbo的用户选择二进制协议比较

aliyun ecs spec jdk version jsonb fastjson2UTF8Bytes hessian javaSerialize
aliyun_ecs.c8a.large jdk1.8.0_381 8055.745 4429.728 (54.99%) 835.673 (10.37%) 144.726 (1.8%)
jdk-11.0.20 9081.858 3727.799 (41.05%) 755.068 (8.31%) 150.211 (1.65%)
jdk-17.0.8 10187.114 5934.353 (58.25%) 782.575 (7.68%) 169.256 (1.66%)
jdk-21.0.2 10487.353 5989.896 (57.12%) 802.121 (7.65%) 158.685 (1.51%)
aliyun_ecs.c8i.large jdk1.8.0_381 4402.898 2710.763 (61.57%) 418.201 (9.5%) 81.618 (1.85%)
jdk-11.0.20 4925.145 1865.474 (37.88%) 375.549 (7.63%) 81.765 (1.66%)
jdk-17.0.8 6073.225 3548.116 (58.42%) 371.772 (6.12%) 87.055 (1.43%)
jdk-21.0.2 8157.241 4453.838 (54.6%) 685.984 (8.41%) 124.502 (1.53%)
graalvm_21+35.1 14440.339 7644.708 (52.94%) 1080.781 (7.48%) 154.081 (1.07%)
aliyun_ecs.g8y.large zulu8.82.0.21 9234.676 5712.248 (61.86%) 425.318 (4.61%) 178.575 (1.93%)
jdk-11.0.20 10398.605 5307.997 (51.05%) 432.111 (4.16%) 182.133 (1.75%)
zulu17.54.21 11241.612 6404.319 (56.97%) 645.469 (5.74%) 173.024 (1.54%)
jdk-21.0.2 11272.38 6440.342 (57.13%) 494.36 (4.39%) 181.036 (1.61%)
graalvm_21+35.1 13845.4 7134.766 (51.53%) 757.87 (5.47%) 181.737 (1.31%)
orangepi5p zulu8.68.0.21 6170.894 3718.414 (60.26%) 211.106 (3.42%) 134.855 (2.19%)
jdk-11.0.19 6981.448 3577.555 (51.24%) 220.072 (3.15%) 125.67 (1.8%)
jdk-17.0.7 7205.802 4355.17 (60.44%) 236.163 (3.28%) 138.269 (1.92%)
jdk-21 7228.41 4302.237 (59.52%) 210.32 (2.91%) 130.534 (1.81%)
graalvm_21+35.1 8929.417 5137.811 (57.54%) 293.937 (3.29%) 132.864 (1.49%)
orangepi_aipro zulu8.82.0.21 1806.303 1071.64 (59.33%) 149.247 (8.26%) 28.476 (1.58%)
jdk-11.0.20 2056.982 1069.929 (52.01%) 142.803 (6.94%) 28.49 (1.39%)
jdk-17.0.8 2411.943 1278.765 (53.02%) 151.883 (6.3%) 28.629 (1.19%)
jdk-21.0.2 2240.024 1299.757 (58.02%) 129.392 (5.78%) 27.584 (1.23%)
graalvm_21+35.1 2529.715 1466.285 (57.96%) 214.853 (8.49%) 26.861 (1.06%)
MacBookM1Pro zulu-8.jdk 38364.761 16512.11 (43.04%) 863.945 (2.25%) 434.602 (1.13%)
zulu-11.jdk 19464.336 11810.47 (60.68%) 598.694 (3.08%) 327.794 (1.68%)
zulu-17.jdk 45550.948 20088.683 (44.1%) 803.105 (1.76%) 552.327 (1.21%)
zulu-21.jdk 43159.451 19395.552 (44.94%) 798.292 (1.85%) 525.289 (1.22%)
graalvm_21+35.1 54212.664 17337.143 (31.98%) 1151.3 (2.12%) 515.995 (0.95%)

4. EishayParseBinaryArrayMapping

这个场景是二进制反序列化比较JSONB格式基于字段顺序映射、kryo、protobuf的比较

aliyun ecs spec jdk version jsonb kryo protobuf
aliyun_ecs.c8a.large jdk1.8.0_381 9423.981 4648.793 (49.33%) 3998.466 (42.43%)
jdk-11.0.20 12415.105 4667.054 (37.59%) 4299.416 (34.63%)
jdk-17.0.8 13704.362 4781.227 (34.89%) 5929.353 (43.27%)
jdk-21.0.2 13885.54 4461.165 (32.13%) 5685.83 (40.95%)
aliyun_ecs.c8i.large jdk1.8.0_381 5323.563 2760.203 (51.85%) 2004.011 (37.64%)
jdk-11.0.20 6723.226 2366.998 (35.21%) 2090.779 (31.1%)
jdk-17.0.8 7705.807 2299.466 (29.84%) 2769.991 (35.95%)
jdk-21.0.2 11462.389 3301.184 (28.8%) 3649.229 (31.84%)
graalvm_21+35.1 20976.823 5378.835 (25.64%) 7941.957 (37.86%)
aliyun_ecs.g8y.large zulu8.82.0.21 12548.723 5851.137 (46.63%) 3846.214 (30.65%)
jdk-11.0.20 12273.757 5195.032 (42.33%) 3720.414 (30.31%)
zulu17.54.21 12307.589 5943.453 (48.29%) 6080.439 (49.4%)
jdk-21.0.2 13157.69 5898.927 (44.83%) 6214.318 (47.23%)
graalvm_21+35.1 24141.86 5481.821 (22.71%) 8911.539 (36.91%)
orangepi5p zulu8.68.0.21 6619.787 4135.454 (62.47%) 2495.908 (37.7%)
jdk-11.0.19 7146.492 3099.538 (43.37%) 2970.683 (41.57%)
jdk-17.0.7 7193.73 4269.12 (59.35%) 3744.561 (52.05%)
jdk-21 7226.814 3264.218 (45.17%) 3909.168 (54.09%)
graalvm_21+35.1 8758.343 3891.239 (44.43%) 5163.217 (58.95%)
orangepi_aipro zulu8.82.0.21 2316.826 1125.208 (48.57%) 563.044 (24.3%)
jdk-11.0.20 2487.984 1093.842 (43.96%) 779.696 (31.34%)
jdk-17.0.8 2392.149 1179.495 (49.31%) 854.559 (35.72%)
jdk-21.0.2 2170.136 1110.14 (51.16%) 948.154 (43.69%)
graalvm_21+35.1 3735.277 988.38 (26.46%) 1341.036 (35.9%)
MacBookM1Pro zulu-8.jdk 48426.869 13068.304 (26.99%) 11233.732 (23.2%)
zulu-11.jdk 33780.742 11878.272 (35.16%) 8947.416 (26.49%)
zulu-17.jdk 59931.88 14947.2 (24.94%) 18171.993 (30.32%)
zulu-21.jdk 55777.191 14677.669 (26.31%) 16945.645 (30.38%)
graalvm_21+35.1 82185.935 18658.295 (22.7%) 32857.298 (39.98%)

5. EishayParseBinaryAutoType

这个场景是带类型信息二进制反序列化比较JSONB格式、JSON UTF8编码(fastjson2UTF8Bytes)、hessian、javaSerialize的比较用于Apache dubbo的用户选择二进制协议比较

aliyun ecs spec jdk version fastjson2JSONB hessian javaSerialize
aliyun_ecs.c8a.large jdk1.8.0_381 4243.543 841.667 (19.83%) 142.654 (3.36%)
jdk-11.0.20 4876.609 759.905 (15.58%) 150.792 (3.09%)
jdk-17.0.8 5789.211 792.392 (13.69%) 169.017 (2.92%)
jdk-21.0.2 5901.774 806.842 (13.67%) 155.12 (2.63%)
aliyun_ecs.c8i.large jdk1.8.0_381 2667.919 422.359 (15.83%) 83.782 (3.14%)
jdk-11.0.20 3072.26 343.529 (11.18%) 85.05 (2.77%)
jdk-17.0.8 3321.928 380.52 (11.45%) 88.748 (2.67%)
jdk-21.0.2 4639.355 691.458 (14.9%) 125.335 (2.7%)
graalvm_21+35.1 8242.192 1073.255 (13.02%) 155.288 (1.88%)
aliyun_ecs.g8y.large zulu8.82.0.21 5912.681 477.796 (8.08%) 178.198 (3.01%)
jdk-11.0.20 2914.432 432.089 (14.83%) 172.941 (5.93%)
zulu17.54.21 6954.459 568.591 (8.18%) 173.278 (2.49%)
jdk-21.0.2 6702.162 517.316 (7.72%) 180.219 (2.69%)
graalvm_21+35.1 7786.139 797.279 (10.24%) 179.538 (2.31%)
orangepi5p zulu8.68.0.21 3482.989 218.11 (6.26%) 132.007 (3.79%)
jdk-11.0.19 3958.361 234.975 (5.94%) 123.59 (3.12%)
jdk-17.0.7 4103.531 235.104 (5.73%) 138.656 (3.38%)
jdk-21 3961.858 210.0 (5.3%) 128.315 (3.24%)
graalvm_21+35.1 5157.806 293.985 (5.7%) 132.768 (2.57%)
orangepi_aipro zulu8.82.0.21 886.819 151.39 (17.07%) 29.304 (3.3%)
jdk-11.0.20 1009.408 124.692 (12.35%) 29.3 (2.9%)
jdk-17.0.8 1348.125 148.73 (11.03%) 28.634 (2.12%)
jdk-21.0.2 1286.134 126.116 (9.81%) 28.6 (2.22%)
graalvm_21+35.1 1477.084 210.76 (14.27%) 26.639 (1.8%)
MacBookM1Pro zulu-8.jdk 20742.942 894.106 (4.31%) 441.712 (2.13%)
zulu-11.jdk 14631.525 601.8 (4.11%) 332.397 (2.27%)
zulu-17.jdk 24161.14 785.259 (3.25%) 546.267 (2.26%)
zulu-21.jdk 23826.745 865.286 (3.63%) 522.839 (2.19%)
graalvm_21+35.1 26993.298 1236.749 (4.58%) 509.818 (1.89%)

6. EishayParseString

这个场景是将没有格式化的JSON字符串反序列化为JavaBean对象是最常用的场景这个是fastjson1的强项。

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 4331.489 3293.893 (76.05%) 1461.761 (33.75%) 1326.66 (30.63%)
jdk-11.0.20 3600.11 2867.069 (79.64%) 1351.704 (37.55%) 1329.644 (36.93%)
jdk-17.0.8 5953.752 3939.026 (66.16%) 1416.94 (23.8%) 1336.018 (22.44%)
jdk-21.0.2 5969.699 3942.45 (66.04%) 1315.329 (22.03%) 1228.068 (20.57%)
aliyun_ecs.c8i.large jdk1.8.0_381 2147.387 1698.15 (79.08%) 839.467 (39.09%) 644.759 (30.03%)
jdk-11.0.20 2292.518 1532.658 (66.85%) 738.803 (32.23%) 695.123 (30.32%)
jdk-17.0.8 3475.462 2150.696 (61.88%) 780.628 (22.46%) 734.08 (21.12%)
jdk-21.0.2 4342.674 2571.173 (59.21%) 990.511 (22.81%) 915.25 (21.08%)
graalvm_21+35.1 7317.529 5624.646 (76.87%) 1413.996 (19.32%) 1379.039 (18.85%)
aliyun_ecs.g8y.large zulu8.82.0.21 5618.175 3722.958 (66.27%) 1669.912 (29.72%) 1536.922 (27.36%)
jdk-11.0.20 3031.993 3471.97 (114.51%) 1524.735 (50.29%) 1515.189 (49.97%)
zulu17.54.21 6391.551 4776.843 (74.74%) 1542.919 (24.14%) 1544.596 (24.17%)
jdk-21.0.2 6534.753 4735.521 (72.47%) 1455.987 (22.28%) 1422.85 (21.77%)
graalvm_21+35.1 7365.713 5592.836 (75.93%) 1512.408 (20.53%) 1384.569 (18.8%)
orangepi5p zulu8.68.0.21 3996.287 2609.844 (65.31%) 1065.887 (26.67%) 1045.922 (26.17%)
jdk-11.0.19 3429.363 2471.017 (72.05%) 1027.527 (29.96%) 1019.745 (29.74%)
jdk-17.0.7 4385.171 3555.913 (81.09%) 1079.44 (24.62%) 1034.758 (23.6%)
jdk-21 4351.259 3362.882 (77.29%) 1018.052 (23.4%) 911.113 (20.94%)
graalvm_21+35.1 4948.105 4099.672 (82.85%) 989.116 (19.99%) 925.247 (18.7%)
orangepi_aipro zulu8.82.0.21 1114.872 732.44 (65.7%) 294.975 (26.46%) 252.0 (22.6%)
jdk-11.0.20 1070.972 679.239 (63.42%) 288.571 (26.94%) 252.749 (23.6%)
jdk-17.0.8 1310.564 971.866 (74.16%) 321.635 (24.54%) 270.309 (20.63%)
jdk-21.0.2 1351.978 971.439 (71.85%) 289.789 (21.43%) 220.443 (16.31%)
graalvm_21+35.1 1457.235 1033.773 (70.94%) 273.137 (18.74%) 227.981 (15.64%)
MacBookM1Pro zulu-8.jdk 19055.939 11995.301 (62.95%) 4752.052 (24.94%) 4978.53 (26.13%)
zulu-11.jdk 10862.312 7070.008 (65.09%) 3265.079 (30.06%) 3572.101 (32.89%)
zulu-17.jdk 20942.742 16873.195 (80.57%) 4959.631 (23.68%) 5744.244 (27.43%)
zulu-21.jdk 20186.863 14545.527 (72.05%) 4764.337 (23.6%) 5272.814 (26.12%)
graalvm_21+35.1 16183.912 15197.699 (93.91%) 4693.286 (29%) 4911.583 (30.35%)

7. EishayParseStringPretty

这个场景是将格式化过的JSON字符串反序列化为JavaBean对象

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 2854.762 887.544 (31.09%) 1362.114 (47.71%) 1249.136 (43.76%)
jdk-11.0.20 3062.546 761.489 (24.86%) 1254.857 (40.97%) 1271.467 (41.52%)
jdk-17.0.8 4155.844 948.481 (22.82%) 1351.138 (32.51%) 1297.462 (31.22%)
jdk-21.0.2 4335.343 906.903 (20.92%) 1270.953 (29.32%) 1172.548 (27.05%)
aliyun_ecs.c8i.large jdk1.8.0_381 1647.3 447.834 (27.19%) 454.164 (27.57%) 626.821 (38.05%)
jdk-11.0.20 1038.633 440.943 (42.45%) 668.731 (64.39%) 657.032 (63.26%)
jdk-17.0.8 2261.287 474.138 (20.97%) 700.413 (30.97%) 669.359 (29.6%)
jdk-21.0.2 2961.744 634.734 (21.43%) 917.278 (30.97%) 871.902 (29.44%)
graalvm_21+35.1 4803.151 1173.303 (24.43%) 1339.555 (27.89%) 1286.186 (26.78%)
aliyun_ecs.g8y.large zulu8.82.0.21 2653.181 1059.629 (39.94%) 1435.847 (54.12%) 1421.965 (53.59%)
jdk-11.0.20 3077.035 1029.382 (33.45%) 1400.184 (45.5%) 1360.493 (44.21%)
zulu17.54.21 4456.343 1127.841 (25.31%) 1417.758 (31.81%) 1477.66 (33.16%)
jdk-21.0.2 4610.737 1040.129 (22.56%) 1378.947 (29.91%) 1295.303 (28.09%)
graalvm_21+35.1 4799.813 1383.103 (28.82%) 1322.68 (27.56%) 1235.588 (25.74%)
orangepi5p zulu8.68.0.21 1485.225 666.508 (44.88%) 1007.507 (67.84%) 960.9 (64.7%)
jdk-11.0.19 1484.34 665.542 (44.84%) 1021.001 (68.78%) 842.326 (56.75%)
jdk-17.0.7 3304.093 764.011 (23.12%) 949.413 (28.73%) 964.641 (29.2%)
jdk-21 3218.68 661.939 (20.57%) 913.416 (28.38%) 882.612 (27.42%)
graalvm_21+35.1 3702.883 822.341 (22.21%) 886.455 (23.94%) 901.303 (24.34%)
orangepi_aipro zulu8.82.0.21 630.054 171.457 (27.21%) 283.314 (44.97%) 231.814 (36.79%)
jdk-11.0.20 691.005 182.414 (26.4%) 269.948 (39.07%) 236.602 (34.24%)
jdk-17.0.8 893.26 209.928 (23.5%) 264.718 (29.64%) 243.587 (27.27%)
jdk-21.0.2 955.602 178.439 (18.67%) 268.334 (28.08%) 212.326 (22.22%)
graalvm_21+35.1 954.856 232.88 (24.39%) 255.015 (26.71%) 212.301 (22.23%)
MacBookM1Pro zulu-8.jdk 13205.978 3064.575 (23.21%) 4691.752 (35.53%) 4813.939 (36.45%)
zulu-11.jdk 8633.494 2007.475 (23.25%) 3114.293 (36.07%) 3616.731 (41.89%)
zulu-17.jdk 16589.592 2963.698 (17.86%) 4586.084 (27.64%) 5308.723 (32%)
zulu-21.jdk 15869.069 3911.348 (24.65%) 4735.694 (29.84%) 4794.173 (30.21%)
graalvm_21+35.1 2581.939 4674.242 (181.04%) 4374.417 (169.42%) 4801.844 (185.98%)

8. EishayParseTreeString

这个场景是将没有格式化的JSON字符串解析为JSONObject或者HashMap不涉及绑定JavaBean对象。

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 2677.982 1548.36 (57.82%) 1607.472 (60.03%) 1132.909 (42.3%)
jdk-11.0.20 2084.976 1155.478 (55.42%) 1389.228 (66.63%) 1122.033 (53.82%)
jdk-17.0.8 3021.994 1619.23 (53.58%) 1533.106 (50.73%) 1154.367 (38.2%)
jdk-21.0.2 3066.724 1500.645 (48.93%) 1578.237 (51.46%) 1131.363 (36.89%)
aliyun_ecs.c8i.large jdk1.8.0_381 1403.658 787.802 (56.12%) 843.375 (60.08%) 548.37 (39.07%)
jdk-11.0.20 1275.407 736.856 (57.77%) 719.491 (56.41%) 535.484 (41.99%)
jdk-17.0.8 2561.838 1208.178 (47.16%) 1089.582 (42.53%) 777.553 (30.35%)
jdk-21.0.2 2575.586 1169.996 (45.43%) 1088.868 (42.28%) 782.421 (30.38%)
graalvm_21+35.1 3316.031 2020.354 (60.93%) 1694.974 (51.11%) 1396.311 (42.11%)
aliyun_ecs.g8y.large zulu8.82.0.21 2946.036 1362.756 (46.26%) 1394.45 (47.33%) 1264.514 (42.92%)
jdk-11.0.20 3080.768 1579.067 (51.26%) 1528.674 (49.62%) 1197.663 (38.88%)
zulu17.54.21 3406.235 1734.605 (50.92%) 1473.023 (43.24%) 1267.5 (37.21%)
jdk-21.0.2 3434.744 1505.074 (43.82%) 1562.078 (45.48%) 1193.324 (34.74%)
graalvm_21+35.1 3860.928 2379.962 (61.64%) 1729.846 (44.8%) 1442.36 (37.36%)
orangepi5p zulu8.68.0.21 1982.451 988.464 (49.86%) 1059.665 (53.45%) 869.919 (43.88%)
jdk-11.0.19 1960.347 1080.067 (55.1%) 1068.056 (54.48%) 848.749 (43.3%)
jdk-17.0.7 2192.336 1232.468 (56.22%) 1105.847 (50.44%) 835.388 (38.1%)
jdk-21 2127.912 1090.919 (51.27%) 1152.401 (54.16%) 801.316 (37.66%)
graalvm_21+35.1 2283.697 1565.103 (68.53%) 1265.172 (55.4%) 943.137 (41.3%)
orangepi_aipro zulu8.82.0.21 536.342 249.095 (46.44%) 253.985 (47.36%) 207.844 (38.75%)
jdk-11.0.20 585.998 291.246 (49.7%) 278.138 (47.46%) 200.887 (34.28%)
jdk-17.0.8 697.488 325.861 (46.72%) 314.351 (45.07%) 206.262 (29.57%)
jdk-21.0.2 667.322 274.162 (41.08%) 323.287 (48.45%) 196.493 (29.45%)
graalvm_21+35.1 660.779 431.528 (65.31%) 301.172 (45.58%) 231.261 (35%)
MacBookM1Pro zulu-8.jdk 11292.798 4781.281 (42.34%) 4760.077 (42.15%) 3802.066 (33.67%)
zulu-11.jdk 6150.382 2925.857 (47.57%) 3193.419 (51.92%) 3304.15 (53.72%)
zulu-17.jdk 13331.225 6177.457 (46.34%) 5034.18 (37.76%) 4339.917 (32.55%)
zulu-21.jdk 12875.464 5288.135 (41.07%) 4426.626 (34.38%) 4170.478 (32.39%)
graalvm_21+35.1 12986.898 8518.442 (65.59%) 5238.08 (40.33%) 4592.426 (35.36%)

9. EishayParseTreeStringPretty

这个场景是将格式化过的字符串解析为JSONObject或者HashMap不涉及绑定JavaBean对象。

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 2278.836 1353.726 (59.4%) 1392.66 (61.11%) 1092.359 (47.93%)
jdk-11.0.20 1769.101 985.399 (55.7%) 1269.501 (71.76%) 1087.759 (61.49%)
jdk-17.0.8 2436.887 1365.593 (56.04%) 1430.246 (58.69%) 1076.988 (44.2%)
jdk-21.0.2 2447.018 1293.539 (52.86%) 1402.619 (57.32%) 1066.404 (43.58%)
aliyun_ecs.c8i.large jdk1.8.0_381 1142.961 689.398 (60.32%) 753.874 (65.96%) 510.099 (44.63%)
jdk-11.0.20 999.618 621.137 (62.14%) 740.266 (74.05%) 509.856 (51.01%)
jdk-17.0.8 1886.396 1068.866 (56.66%) 978.179 (51.85%) 758.059 (40.19%)
jdk-21.0.2 1966.796 1011.921 (51.45%) 1022.754 (52%) 746.107 (37.94%)
graalvm_21+35.1 2667.293 1720.325 (64.5%) 1521.67 (57.05%) 1338.062 (50.17%)
aliyun_ecs.g8y.large zulu8.82.0.21 2548.634 1296.571 (50.87%) 1316.999 (51.67%) 1168.755 (45.86%)
jdk-11.0.20 2256.705 1383.91 (61.32%) 1330.006 (58.94%) 1138.94 (50.47%)
zulu17.54.21 2845.824 1532.124 (53.84%) 1434.557 (50.41%) 1214.603 (42.68%)
jdk-21.0.2 2836.087 1351.854 (47.67%) 1471.118 (51.87%) 1111.798 (39.2%)
graalvm_21+35.1 3085.826 2098.52 (68.01%) 1589.865 (51.52%) 1314.272 (42.59%)
orangepi5p zulu8.68.0.21 1762.031 846.368 (48.03%) 1087.57 (61.72%) 813.039 (46.14%)
jdk-11.0.19 1662.329 818.753 (49.25%) 870.154 (52.35%) 778.326 (46.82%)
jdk-17.0.7 1859.953 1129.715 (60.74%) 1039.854 (55.91%) 788.88 (42.41%)
jdk-21 1792.929 918.677 (51.24%) 1041.847 (58.11%) 737.737 (41.15%)
graalvm_21+35.1 1966.914 1345.584 (68.41%) 1133.693 (57.64%) 911.473 (46.34%)
orangepi_aipro zulu8.82.0.21 477.71 217.123 (45.45%) 248.784 (52.08%) 184.052 (38.53%)
jdk-11.0.20 473.266 222.752 (47.07%) 258.812 (54.69%) 198.837 (42.01%)
jdk-17.0.8 573.131 298.321 (52.05%) 284.463 (49.63%) 201.027 (35.08%)
jdk-21.0.2 544.058 254.032 (46.69%) 297.893 (54.75%) 189.923 (34.91%)
graalvm_21+35.1 546.165 365.012 (66.83%) 304.285 (55.71%) 214.801 (39.33%)
MacBookM1Pro zulu-8.jdk 9684.643 4566.76 (47.15%) 4484.522 (46.31%) 3732.237 (38.54%)
zulu-11.jdk 4912.705 3076.286 (62.62%) 3024.172 (61.56%) 3200.701 (65.15%)
zulu-17.jdk 10502.484 5580.486 (53.13%) 4872.539 (46.39%) 4128.636 (39.31%)
zulu-21.jdk 10321.027 4689.136 (45.43%) 4289.819 (41.56%) 3870.819 (37.5%)
graalvm_21+35.1 10625.172 6970.042 (65.6%) 4867.478 (45.81%) 4629.993 (43.58%)

10. EishayParseTreeUTF8Bytes

这个场景是将没有格式化的JSON字符串UTF8编码的byte[]数组反序列化解析为JSONObject或者HashMap不涉及绑定JavaBean对象。

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 2568.81 1345.282 (52.37%) 1834.556 (71.42%) 1018.054 (39.63%)
jdk-11.0.20 2102.827 1019.749 (48.49%) 1567.079 (74.52%) 1083.506 (51.53%)
jdk-17.0.8 3066.216 1348.713 (43.99%) 1759.277 (57.38%) 1141.449 (37.23%)
jdk-21.0.2 3173.838 1370.608 (43.18%) 1744.066 (54.95%) 1106.618 (34.87%)
aliyun_ecs.c8i.large jdk1.8.0_381 1532.942 711.5 (46.41%) 873.478 (56.98%) 482.08 (31.45%)
jdk-11.0.20 1304.967 684.768 (52.47%) 884.47 (67.78%) 507.845 (38.92%)
jdk-17.0.8 2542.085 1112.26 (43.75%) 1171.547 (46.09%) 759.736 (29.89%)
jdk-21.0.2 2611.052 1100.334 (42.14%) 1198.475 (45.9%) 754.557 (28.9%)
graalvm_21+35.1 3313.334 1609.12 (48.56%) 1836.245 (55.42%) 1320.719 (39.86%)
aliyun_ecs.g8y.large zulu8.82.0.21 2934.456 1248.398 (42.54%) 1618.664 (55.16%) 1159.571 (39.52%)
jdk-11.0.20 3011.701 1394.362 (46.3%) 1580.786 (52.49%) 1156.636 (38.4%)
zulu17.54.21 3467.798 1508.327 (43.5%) 1719.244 (49.58%) 1230.701 (35.49%)
jdk-21.0.2 3481.858 1398.247 (40.16%) 1648.017 (47.33%) 1163.579 (33.42%)
graalvm_21+35.1 3874.396 1886.35 (48.69%) 1847.438 (47.68%) 1371.955 (35.41%)
orangepi5p zulu8.68.0.21 1934.257 764.586 (39.53%) 1273.48 (65.84%) 786.27 (40.65%)
jdk-11.0.19 1951.823 935.84 (47.95%) 1244.802 (63.78%) 789.975 (40.47%)
jdk-17.0.7 2195.765 1121.38 (51.07%) 1333.151 (60.71%) 801.143 (36.49%)
jdk-21 2148.708 984.531 (45.82%) 1243.363 (57.87%) 768.732 (35.78%)
graalvm_21+35.1 2341.181 1239.48 (52.94%) 1270.581 (54.27%) 859.099 (36.7%)
orangepi_aipro zulu8.82.0.21 533.817 220.093 (41.23%) 282.648 (52.95%) 177.839 (33.31%)
jdk-11.0.20 574.25 264.396 (46.04%) 337.784 (58.82%) 195.469 (34.04%)
jdk-17.0.8 699.503 313.251 (44.78%) 382.09 (54.62%) 207.918 (29.72%)
jdk-21.0.2 663.173 256.044 (38.61%) 372.211 (56.13%) 207.616 (31.31%)
graalvm_21+35.1 680.434 339.506 (49.9%) 317.088 (46.6%) 216.712 (31.85%)
MacBookM1Pro zulu-8.jdk 11241.781 4409.583 (39.22%) 5012.912 (44.59%) 4466.406 (39.73%)
zulu-11.jdk 5994.681 3163.859 (52.78%) 3537.141 (59%) 3289.828 (54.88%)
zulu-17.jdk 13768.159 5317.415 (38.62%) 5476.373 (39.78%) 4340.551 (31.53%)
zulu-21.jdk 12848.418 4875.519 (37.95%) 5534.955 (43.08%) 4109.112 (31.98%)
graalvm_21+35.1 13081.843 6258.266 (47.84%) 4993.562 (38.17%) 4497.352 (34.38%)

11. EishayParseTreeUTF8BytesPretty

这个场景是将格式化过的字符串UTF8编码的byte[]数组反序列化解析为JSONObject或者HashMap不涉及绑定JavaBean对象。

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 2096.811 1149.276 (54.81%) 1704.089 (81.27%) 940.905 (44.87%)
jdk-11.0.20 1822.991 876.375 (48.07%) 1553.997 (85.24%) 1028.992 (56.45%)
jdk-17.0.8 2478.361 1168.049 (47.13%) 1579.36 (63.73%) 1052.778 (42.48%)
jdk-21.0.2 2473.357 1187.202 (48%) 1590.086 (64.29%) 1025.979 (41.48%)
aliyun_ecs.c8i.large jdk1.8.0_381 1173.226 636.453 (54.25%) 879.607 (74.97%) 441.273 (37.61%)
jdk-11.0.20 1192.239 535.168 (44.89%) 788.093 (66.1%) 466.889 (39.16%)
jdk-17.0.8 1877.999 924.758 (49.24%) 1068.552 (56.9%) 732.369 (39%)
jdk-21.0.2 1879.851 885.015 (47.08%) 1058.888 (56.33%) 721.829 (38.4%)
graalvm_21+35.1 2660.231 1284.894 (48.3%) 1565.821 (58.86%) 1211.057 (45.52%)
aliyun_ecs.g8y.large zulu8.82.0.21 2492.52 1120.25 (44.94%) 1476.114 (59.22%) 1025.221 (41.13%)
jdk-11.0.20 2538.696 1219.477 (48.04%) 1529.754 (60.26%) 1094.971 (43.13%)
zulu17.54.21 2842.622 1332.143 (46.86%) 1635.422 (57.53%) 1163.57 (40.93%)
jdk-21.0.2 2874.856 1248.526 (43.43%) 1625.435 (56.54%) 1089.983 (37.91%)
graalvm_21+35.1 2894.937 1582.861 (54.68%) 1586.596 (54.81%) 1324.756 (45.76%)
orangepi5p zulu8.68.0.21 1727.398 684.005 (39.6%) 1226.041 (70.98%) 691.831 (40.05%)
jdk-11.0.19 1672.382 669.726 (40.05%) 1124.882 (67.26%) 745.307 (44.57%)
jdk-17.0.7 1862.873 964.246 (51.76%) 1192.894 (64.04%) 746.977 (40.1%)
jdk-21 1809.256 760.882 (42.05%) 1165.469 (64.42%) 725.45 (40.1%)
graalvm_21+35.1 1940.596 1021.856 (52.66%) 1147.604 (59.14%) 844.091 (43.5%)
orangepi_aipro zulu8.82.0.21 474.168 191.595 (40.41%) 282.225 (59.52%) 164.448 (34.68%)
jdk-11.0.20 478.502 204.291 (42.69%) 292.842 (61.2%) 188.61 (39.42%)
jdk-17.0.8 568.18 264.054 (46.47%) 350.718 (61.73%) 189.723 (33.39%)
jdk-21.0.2 566.142 226.911 (40.08%) 329.617 (58.22%) 184.391 (32.57%)
graalvm_21+35.1 565.108 288.48 (51.05%) 289.295 (51.19%) 197.912 (35.02%)
MacBookM1Pro zulu-8.jdk 9851.608 4456.126 (45.23%) 4973.596 (50.49%) 4088.389 (41.5%)
zulu-11.jdk 5076.275 2526.416 (49.77%) 3096.654 (61%) 3108.455 (61.23%)
zulu-17.jdk 10783.965 4501.471 (41.74%) 4815.574 (44.65%) 4315.373 (40.02%)
zulu-21.jdk 10546.729 4110.771 (38.98%) 4882.216 (46.29%) 4070.88 (38.6%)
graalvm_21+35.1 10709.813 4980.002 (46.5%) 4909.839 (45.84%) 5039.75 (47.06%)

12. EishayParseUTF8Bytes

这个场景是将没有格式化的JSON字符串UTF8编码的byte[]数组反序列化为JavaBean对象是最常用的场景这个是fastjson1的强项。

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 3493.935 2523.242 (72.22%) 1610.046 (46.08%) 1179.896 (33.77%)
jdk-11.0.20 3942.057 2242.999 (56.9%) 1497.875 (38%) 1306.638 (33.15%)
jdk-17.0.8 6002.143 2810.013 (46.82%) 1601.131 (26.68%) 1322.936 (22.04%)
jdk-21.0.2 5972.883 2866.547 (47.99%) 1484.962 (24.86%) 1139.498 (19.08%)
aliyun_ecs.c8i.large jdk1.8.0_381 1571.986 1241.521 (78.98%) 836.703 (53.23%) 614.401 (39.08%)
jdk-11.0.20 1548.792 1270.566 (82.04%) 877.445 (56.65%) 717.439 (46.32%)
jdk-17.0.8 4365.339 1958.543 (44.87%) 1077.608 (24.69%) 988.11 (22.64%)
jdk-21.0.2 4367.96 2143.891 (49.08%) 1080.882 (24.75%) 928.357 (21.25%)
graalvm_21+35.1 7643.529 3653.386 (47.8%) 1455.533 (19.04%) 1422.618 (18.61%)
aliyun_ecs.g8y.large zulu8.82.0.21 5622.085 3160.983 (56.22%) 1743.708 (31.02%) 1415.206 (25.17%)
jdk-11.0.20 5346.638 2923.332 (54.68%) 1707.726 (31.94%) 1440.438 (26.94%)
zulu17.54.21 6309.222 3743.161 (59.33%) 1730.638 (27.43%) 1514.456 (24%)
jdk-21.0.2 6412.947 3605.807 (56.23%) 1618.532 (25.24%) 1310.056 (20.43%)
graalvm_21+35.1 7351.847 3419.269 (46.51%) 1503.709 (20.45%) 1339.44 (18.22%)
orangepi5p zulu8.68.0.21 3729.709 2036.602 (54.6%) 1340.48 (35.94%) 899.85 (24.13%)
jdk-11.0.19 1516.852 1960.582 (129.25%) 1154.381 (76.1%) 986.436 (65.03%)
jdk-17.0.7 4365.214 2552.336 (58.47%) 1305.982 (29.92%) 985.084 (22.57%)
jdk-21 4276.76 2494.185 (58.32%) 1109.119 (25.93%) 872.461 (20.4%)
graalvm_21+35.1 5008.979 2227.937 (44.48%) 1016.143 (20.29%) 915.298 (18.27%)
orangepi_aipro zulu8.82.0.21 886.915 589.921 (66.51%) 318.553 (35.92%) 236.204 (26.63%)
jdk-11.0.20 775.246 565.581 (72.96%) 326.007 (42.05%) 250.703 (32.34%)
jdk-17.0.8 1313.388 686.476 (52.27%) 343.958 (26.19%) 262.015 (19.95%)
jdk-21.0.2 1333.805 729.457 (54.69%) 318.084 (23.85%) 227.008 (17.02%)
graalvm_21+35.1 1243.388 605.6 (48.71%) 284.493 (22.88%) 220.186 (17.71%)
MacBookM1Pro zulu-8.jdk 16447.882 10879.499 (66.15%) 5312.015 (32.3%) 5011.147 (30.47%)
zulu-11.jdk 11974.048 6469.501 (54.03%) 3209.006 (26.8%) 3609.299 (30.14%)
zulu-17.jdk 19715.805 12806.197 (64.95%) 4980.291 (25.26%) 5550.244 (28.15%)
zulu-21.jdk 18442.217 13008.96 (70.54%) 5527.296 (29.97%) 5162.379 (27.99%)
graalvm_21+35.1 2461.785 10872.608 (441.66%) 5160.073 (209.61%) 4917.173 (199.74%)

13. EishayParseUTF8BytesPretty

这个场景是将格式化过的JSON字符串UTF8编码的byte[]数组反序列化为JavaBean对象

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 2432.434 799.202 (32.86%) 1530.164 (62.91%) 950.087 (39.06%)
jdk-11.0.20 2969.313 682.855 (23%) 1414.495 (47.64%) 1020.097 (34.35%)
jdk-17.0.8 4195.357 824.492 (19.65%) 1453.384 (34.64%) 1063.658 (25.35%)
jdk-21.0.2 4351.122 803.461 (18.47%) 1366.265 (31.4%) 1029.105 (23.65%)
aliyun_ecs.c8i.large jdk1.8.0_381 1363.63 385.252 (28.25%) 790.29 (57.95%) 465.134 (34.11%)
jdk-11.0.20 1692.024 388.711 (22.97%) 723.639 (42.77%) 492.504 (29.11%)
jdk-17.0.8 2765.992 587.44 (21.24%) 996.046 (36.01%) 724.105 (26.18%)
jdk-21.0.2 2883.715 588.284 (20.4%) 994.644 (34.49%) 721.03 (25%)
graalvm_21+35.1 4423.576 999.581 (22.6%) 1348.544 (30.49%) 1262.12 (28.53%)
aliyun_ecs.g8y.large zulu8.82.0.21 4119.477 966.923 (23.47%) 1567.342 (38.05%) 1033.934 (25.1%)
jdk-11.0.20 3864.684 951.46 (24.62%) 1542.393 (39.91%) 1090.745 (28.22%)
zulu17.54.21 4469.838 1039.982 (23.27%) 1599.935 (35.79%) 1153.928 (25.82%)
jdk-21.0.2 4546.891 942.194 (20.72%) 1511.5 (33.24%) 1086.555 (23.9%)
graalvm_21+35.1 4632.753 1167.726 (25.21%) 1387.378 (29.95%) 1328.667 (28.68%)
orangepi5p zulu8.68.0.21 2910.159 581.731 (19.99%) 1245.908 (42.81%) 711.43 (24.45%)
jdk-11.0.19 2265.437 586.032 (25.87%) 1065.607 (47.04%) 752.084 (33.2%)
jdk-17.0.7 3213.44 668.46 (20.8%) 1083.41 (33.71%) 753.246 (23.44%)
jdk-21 3198.356 589.64 (18.44%) 1005.656 (31.44%) 732.213 (22.89%)
graalvm_21+35.1 3677.222 747.089 (20.32%) 947.81 (25.78%) 854.181 (23.23%)
orangepi_aipro zulu8.82.0.21 623.398 154.392 (24.77%) 288.402 (46.26%) 170.907 (27.42%)
jdk-11.0.20 754.272 158.929 (21.07%) 297.325 (39.42%) 196.598 (26.06%)
jdk-17.0.8 827.524 186.492 (22.54%) 326.279 (39.43%) 191.297 (23.12%)
jdk-21.0.2 939.799 154.847 (16.48%) 281.797 (29.98%) 194.298 (20.67%)
graalvm_21+35.1 837.275 196.145 (23.43%) 259.37 (30.98%) 229.14 (27.37%)
MacBookM1Pro zulu-8.jdk 12255.777 3279.18 (26.76%) 4966.263 (40.52%) 4093.057 (33.4%)
zulu-11.jdk 6225.756 2024.102 (32.51%) 3163.43 (50.81%) 3193.167 (51.29%)
zulu-17.jdk 14834.264 3153.731 (21.26%) 5322.368 (35.88%) 4259.794 (28.72%)
zulu-21.jdk 15196.789 3268.542 (21.51%) 5189.3 (34.15%) 4151.16 (27.32%)
graalvm_21+35.1 2585.777 3661.867 (141.62%) 5030.879 (194.56%) 4756.215 (183.94%)

14. EishayWriteBinary

这个场景是二进制序列化比较JSONB格式、JSON UTF8编码(fastjson2UTF8Bytes)、hessian、javaSerialize的比较用于Apache dubbo的用户选择二进制协议比较

aliyun ecs spec jdk version jsonb msgpack protobuf
aliyun_ecs.c8a.large jdk1.8.0_381 9625.545 1156.773 (12.02%) 4445.918 (46.19%)
jdk-11.0.20 13015.515 1513.483 (11.63%) 3989.184 (30.65%)
jdk-17.0.8 15323.071 1695.579 (11.07%) 5523.316 (36.05%)
jdk-21.0.2 15498.405 1570.895 (10.14%) 5833.277 (37.64%)
aliyun_ecs.c8i.large jdk1.8.0_381 5846.552 626.191 (10.71%) 2309.43 (39.5%)
jdk-11.0.20 6950.3 879.985 (12.66%) 1898.063 (27.31%)
jdk-17.0.8 11543.151 1395.345 (12.09%) 3557.233 (30.82%)
jdk-21.0.2 11532.326 1347.999 (11.69%) 3651.44 (31.66%)
graalvm_21+35.1 14576.79 1682.137 (11.54%) 10628.368 (72.91%)
aliyun_ecs.g8y.large zulu8.82.0.21 9547.006 1287.072 (13.48%) 5404.135 (56.61%)
jdk-11.0.20 11751.922 1879.386 (15.99%) 4343.884 (36.96%)
zulu17.54.21 14848.802 2024.221 (13.63%) 5763.11 (38.81%)
jdk-21.0.2 14141.702 1957.49 (13.84%) 6237.426 (44.11%)
graalvm_21+35.1 16968.498 1967.235 (11.59%) 10400.748 (61.29%)
orangepi5p zulu8.68.0.21 7309.506 830.119 (11.36%) 2792.707 (38.21%)
jdk-11.0.19 6881.888 1242.975 (18.06%) 2466.191 (35.84%)
jdk-17.0.7 9118.679 1281.731 (14.06%) 3723.478 (40.83%)
jdk-21 8994.982 1182.935 (13.15%) 3739.967 (41.58%)
graalvm_21+35.1 11044.344 1137.944 (10.3%) 6952.342 (62.95%)
orangepi_aipro zulu8.82.0.21 2145.527 199.086 (9.28%) 976.39 (45.51%)
jdk-11.0.20 2386.234 276.202 (11.57%) 709.354 (29.73%)
jdk-17.0.8 2890.036 330.647 (11.44%) 931.135 (32.22%)
jdk-21.0.2 2713.829 323.026 (11.9%) 957.393 (35.28%)
graalvm_21+35.1 3094.098 297.921 (9.63%) 2007.463 (64.88%)
MacBookM1Pro zulu-8.jdk 31451.169 3147.685 (10.01%) 14863.892 (47.26%)
zulu-11.jdk 35303.231 3545.225 (10.04%) 10869.429 (30.79%)
zulu-17.jdk 29187.781 6548.97 (22.44%) 18068.47 (61.9%)
zulu-21.jdk 31278.944 6435.19 (20.57%) 22149.96 (70.81%)
graalvm_21+35.1 37102.017 6883.011 (18.55%) 39373.467 (106.12%)

15. EishayWriteBinaryArrayMapping

这个场景是二进制序列化比较JSONB格式基于字段顺序映射、kryo、protobuf的比较

aliyun ecs spec jdk version jsonb kryo protobuf
aliyun_ecs.c8a.large jdk1.8.0_381 12137.633 4880.288 (40.21%) 4471.322 (36.84%)
jdk-11.0.20 16213.183 5390.401 (33.25%) 4694.907 (28.96%)
jdk-17.0.8 20157.159 5523.526 (27.4%) 5509.325 (27.33%)
jdk-21.0.2 20394.006 5501.154 (26.97%) 6118.554 (30%)
aliyun_ecs.c8i.large jdk1.8.0_381 6339.319 3009.248 (47.47%) 2500.062 (39.44%)
jdk-11.0.20 7085.895 2806.34 (39.6%) 2454.485 (34.64%)
jdk-17.0.8 13971.083 3689.055 (26.4%) 3528.787 (25.26%)
jdk-21.0.2 16771.754 4175.277 (24.89%) 3475.049 (20.72%)
graalvm_21+35.1 16540.132 6764.623 (40.9%) 10582.599 (63.98%)
aliyun_ecs.g8y.large zulu8.82.0.21 10381.276 5148.086 (49.59%) 4767.649 (45.93%)
jdk-11.0.20 16021.698 6169.195 (38.51%) 5540.241 (34.58%)
zulu17.54.21 17481.303 6153.983 (35.2%) 5425.929 (31.04%)
jdk-21.0.2 19225.81 6269.854 (32.61%) 5799.241 (30.16%)
graalvm_21+35.1 20981.707 7537.806 (35.93%) 10141.807 (48.34%)
orangepi5p zulu8.68.0.21 8930.805 3720.005 (41.65%) 2937.302 (32.89%)
jdk-11.0.19 9637.411 4138.429 (42.94%) 3642.108 (37.79%)
jdk-17.0.7 11964.701 3564.541 (29.79%) 3777.819 (31.57%)
jdk-21 11187.216 3962.385 (35.42%) 3886.726 (34.74%)
graalvm_21+35.1 11523.062 4767.21 (41.37%) 7127.559 (61.85%)
orangepi_aipro zulu8.82.0.21 2562.407 1162.254 (45.36%) 883.902 (34.49%)
jdk-11.0.20 2883.914 984.919 (34.15%) 710.922 (24.65%)
jdk-17.0.8 3407.063 1175.03 (34.49%) 962.543 (28.25%)
jdk-21.0.2 4025.187 1108.623 (27.54%) 1001.097 (24.87%)
graalvm_21+35.1 4008.925 1441.516 (35.96%) 2019.599 (50.38%)
MacBookM1Pro zulu-8.jdk 32693.06 13433.642 (41.09%) 17623.0 (53.9%)
zulu-11.jdk 35909.743 6713.15 (18.69%) 10660.796 (29.69%)
zulu-17.jdk 63295.801 10387.846 (16.41%) 21330.459 (33.7%)
zulu-21.jdk 45094.801 10169.942 (22.55%) 19547.236 (43.35%)
graalvm_21+35.1 46485.365 13746.454 (29.57%) 39396.336 (84.75%)

16. EishayWriteBinaryAutoType

这个场景是带类型信息二进制序列化比较JSONB格式、JSON UTF8编码(fastjson2UTF8Bytes)、hessian、javaSerialize的比较用于Apache dubbo的用户选择二进制协议比较

aliyun ecs spec jdk version fastjson2JSONB hessian javaSerialize
aliyun_ecs.c8a.large jdk1.8.0_381 4062.114 1350.599 (33.25%) 789.785 (19.44%)
jdk-11.0.20 4043.444 1252.618 (30.98%) 774.647 (19.16%)
jdk-17.0.8 4775.417 1262.806 (26.44%) 752.645 (15.76%)
jdk-21.0.2 4734.813 1250.406 (26.41%) 830.129 (17.53%)
aliyun_ecs.c8i.large jdk1.8.0_381 2165.373 480.903 (22.21%) 371.296 (17.15%)
jdk-11.0.20 2245.222 493.628 (21.99%) 380.326 (16.94%)
jdk-17.0.8 3282.528 776.283 (23.65%) 542.843 (16.54%)
jdk-21.0.2 3510.156 830.993 (23.67%) 561.078 (15.98%)
graalvm_21+35.1 4517.402 1773.504 (39.26%) 749.874 (16.6%)
aliyun_ecs.g8y.large zulu8.82.0.21 4531.946 1334.838 (29.45%) 859.856 (18.97%)
jdk-11.0.20 5278.988 1037.925 (19.66%) 922.824 (17.48%)
zulu17.54.21 5362.392 1288.776 (24.03%) 871.569 (16.25%)
jdk-21.0.2 5770.78 1191.239 (20.64%) 915.199 (15.86%)
graalvm_21+35.1 4971.552 1247.888 (25.1%) 844.662 (16.99%)
orangepi5p zulu8.68.0.21 3302.026 665.773 (20.16%) 615.473 (18.64%)
jdk-11.0.19 3485.862 657.751 (18.87%) 545.754 (15.66%)
jdk-17.0.7 3489.798 670.382 (19.21%) 536.47 (15.37%)
jdk-21 3514.462 663.761 (18.89%) 571.143 (16.25%)
graalvm_21+35.1 3137.922 684.938 (21.83%) 561.295 (17.89%)
orangepi_aipro zulu8.82.0.21 974.08 260.447 (26.74%) 157.124 (16.13%)
jdk-11.0.20 981.045 221.576 (22.59%) 166.923 (17.01%)
jdk-17.0.8 1049.742 234.573 (22.35%) 160.477 (15.29%)
jdk-21.0.2 1085.481 232.405 (21.41%) 159.165 (14.66%)
graalvm_21+35.1 979.083 267.578 (27.33%) 133.455 (13.63%)
MacBookM1Pro zulu-8.jdk 13309.163 2392.157 (17.97%) 3249.12 (24.41%)
zulu-11.jdk 10908.685 2274.623 (20.85%) 1933.448 (17.72%)
zulu-17.jdk 16193.428 2130.767 (13.16%) 3603.243 (22.25%)
zulu-21.jdk 17074.728 2183.689 (12.79%) 3736.361 (21.88%)
graalvm_21+35.1 19721.755 2764.579 (14.02%) 3583.094 (18.17%)

17. EishayWriteString

这个场景是将JavaBean对象序列化为字符串

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 5675.485 1935.819 (34.11%) 2260.539 (39.83%) 1297.241 (22.86%)
jdk-11.0.20 6253.54 2466.72 (39.45%) 2305.421 (36.87%) 1005.499 (16.08%)
jdk-17.0.8 6616.113 2004.316 (30.29%) 2736.173 (41.36%) 1170.297 (17.69%)
jdk-21.0.2 6778.144 1885.044 (27.81%) 2507.496 (36.99%) 1099.159 (16.22%)
aliyun_ecs.c8i.large jdk1.8.0_381 2970.057 1062.56 (35.78%) 1532.025 (51.58%) 609.291 (20.51%)
jdk-11.0.20 2844.623 1015.824 (35.71%) 1517.228 (53.34%) 596.768 (20.98%)
jdk-17.0.8 4285.899 1531.763 (35.74%) 2080.877 (48.55%) 702.91 (16.4%)
jdk-21.0.2 4571.806 1578.541 (34.53%) 2010.084 (43.97%) 690.615 (15.11%)
graalvm_21+35.1 9904.407 2406.929 (24.3%) 2709.946 (27.36%) 1047.636 (10.58%)
aliyun_ecs.g8y.large zulu8.82.0.21 5386.966 2240.285 (41.59%) 2620.089 (48.64%) 1631.35 (30.28%)
jdk-11.0.20 6334.832 2204.515 (34.8%) 2839.422 (44.82%) 1231.0 (19.43%)
zulu17.54.21 6829.287 2298.651 (33.66%) 2939.988 (43.05%) 903.514 (13.23%)
jdk-21.0.2 6543.848 2260.767 (34.55%) 2801.546 (42.81%) 925.684 (14.15%)
graalvm_21+35.1 8894.195 2820.636 (31.71%) 2869.942 (32.27%) 861.472 (9.69%)
orangepi5p zulu8.68.0.21 3954.415 1372.734 (34.71%) 1841.013 (46.56%) 973.532 (24.62%)
jdk-11.0.19 4532.791 3054.769 (67.39%) 1894.733 (41.8%) 813.093 (17.94%)
jdk-17.0.7 4633.035 1881.535 (40.61%) 2005.383 (43.28%) 767.967 (16.58%)
jdk-21 4412.288 1430.048 (32.41%) 1814.791 (41.13%) 732.604 (16.6%)
graalvm_21+35.1 5804.594 1712.767 (29.51%) 1967.42 (33.89%) 699.589 (12.05%)
orangepi_aipro zulu8.82.0.21 1378.66 341.079 (24.74%) 448.504 (32.53%) 262.351 (19.03%)
jdk-11.0.20 1332.523 344.159 (25.83%) 426.252 (31.99%) 200.891 (15.08%)
jdk-17.0.8 1536.99 382.86 (24.91%) 490.306 (31.9%) 110.331 (7.18%)
jdk-21.0.2 1512.989 365.434 (24.15%) 478.634 (31.63%) 107.527 (7.11%)
graalvm_21+35.1 1984.102 462.968 (23.33%) 509.824 (25.7%) 102.563 (5.17%)
MacBookM1Pro zulu-8.jdk 13820.537 8060.976 (58.33%) 11700.523 (84.66%) 5631.544 (40.75%)
zulu-11.jdk 12779.681 4849.134 (37.94%) 5952.985 (46.58%) 2509.198 (19.63%)
zulu-17.jdk 21684.382 7238.213 (33.38%) 9668.582 (44.59%) 4040.202 (18.63%)
zulu-21.jdk 21667.884 7265.557 (33.53%) 9298.075 (42.91%) 4276.57 (19.74%)
graalvm_21+35.1 18987.386 9667.621 (50.92%) 10529.864 (55.46%) 3363.31 (17.71%)

18. EishayWriteStringTree

这个场景是将JSONObject或者Map序列化为字符串

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 3908.128 2389.676 (61.15%) 2547.661 (65.19%) 1413.379 (36.17%)
jdk-11.0.20 2945.919 2220.971 (75.39%) 2503.981 (85%) 1103.781 (37.47%)
jdk-17.0.8 4105.424 2276.13 (55.44%) 2530.589 (61.64%) 1244.36 (30.31%)
jdk-21.0.2 4011.384 2276.086 (56.74%) 2503.389 (62.41%) 1238.114 (30.87%)
aliyun_ecs.c8i.large jdk1.8.0_381 2333.211 1338.918 (57.39%) 1500.604 (64.31%) 731.633 (31.36%)
jdk-11.0.20 1731.637 1344.378 (77.64%) 1518.985 (87.72%) 620.728 (35.85%)
jdk-17.0.8 3233.035 1732.363 (53.58%) 1806.103 (55.86%) 738.618 (22.85%)
jdk-21.0.2 3300.139 1866.183 (56.55%) 1811.419 (54.89%) 736.14 (22.31%)
graalvm_21+35.1 4577.766 2619.476 (57.22%) 2675.842 (58.45%) 1167.143 (25.5%)
aliyun_ecs.g8y.large zulu8.82.0.21 4081.213 2402.334 (58.86%) 2767.539 (67.81%) 1815.837 (44.49%)
jdk-11.0.20 4156.923 2657.518 (63.93%) 2631.483 (63.3%) 1432.307 (34.46%)
zulu17.54.21 4662.215 2706.645 (58.05%) 2758.21 (59.16%) 952.086 (20.42%)
jdk-21.0.2 4964.744 2634.1 (53.06%) 2775.493 (55.9%) 995.081 (20.04%)
graalvm_21+35.1 5205.334 3322.503 (63.83%) 3122.854 (59.99%) 929.443 (17.86%)
orangepi5p zulu8.68.0.21 2668.78 1615.186 (60.52%) 1800.03 (67.45%) 976.476 (36.59%)
jdk-11.0.19 2689.211 1707.722 (63.5%) 1990.393 (74.01%) 952.886 (35.43%)
jdk-17.0.7 3020.376 1731.443 (57.33%) 1969.692 (65.21%) 811.996 (26.88%)
jdk-21 3237.212 1652.852 (51.06%) 1877.07 (57.98%) 816.572 (25.22%)
graalvm_21+35.1 3074.802 1996.165 (64.92%) 2158.744 (70.21%) 762.371 (24.79%)
orangepi_aipro zulu8.82.0.21 800.066 427.31 (53.41%) 492.115 (61.51%) 303.925 (37.99%)
jdk-11.0.20 756.164 427.126 (56.49%) 501.954 (66.38%) 232.593 (30.76%)
jdk-17.0.8 915.382 443.101 (48.41%) 553.54 (60.47%) 110.42 (12.06%)
jdk-21.0.2 896.745 418.659 (46.69%) 504.467 (56.26%) 115.699 (12.9%)
graalvm_21+35.1 853.859 575.305 (67.38%) 591.791 (69.31%) 116.11 (13.6%)
MacBookM1Pro zulu-8.jdk 11220.269 8665.713 (77.23%) 10461.844 (93.24%) 6123.435 (54.57%)
zulu-11.jdk 6641.239 6496.435 (97.82%) 5967.931 (89.86%) 2790.778 (42.02%)
zulu-17.jdk 11143.276 7922.93 (71.1%) 7864.975 (70.58%) 4272.229 (38.34%)
zulu-21.jdk 11616.297 7998.835 (68.86%) 8515.322 (73.3%) 4360.964 (37.54%)
graalvm_21+35.1 14367.835 9240.845 (64.32%) 9787.906 (68.12%) 3460.963 (24.09%)

19. EishayWriteUTF8Bytes

这个场景是将JavaBean对象序列化为UTF8编码的Bytes

aliyun ecs spec jdk version fastjson2 fastjson1 jackson gson
aliyun_ecs.c8a.large jdk1.8.0_381 5609.644 1740.627 (31.03%) 2296.814 (40.94%) 1154.699 (20.58%)
jdk-11.0.20 6993.715 2245.137 (32.1%) 2175.456 (31.11%) 817.198 (11.68%)
jdk-17.0.8 7992.09 1720.959 (21.53%) 2551.884 (31.93%) 1151.746 (14.41%)
jdk-21.0.2 8115.766 1674.857 (20.64%) 2523.537 (31.09%) 1064.148 (13.11%)
aliyun_ecs.c8i.large jdk1.8.0_381 3162.163 976.948 (30.89%) 1446.841 (45.75%) 589.866 (18.65%)
jdk-11.0.20 3883.903 1157.392 (29.8%) 1424.904 (36.69%) 609.547 (15.69%)
jdk-17.0.8 5151.381 1319.92 (25.62%) 1995.59 (38.74%) 666.741 (12.94%)
jdk-21.0.2 5338.399 1436.152 (26.9%) 1929.399 (36.14%) 693.776 (13%)
graalvm_21+35.1 9334.26 1973.851 (21.15%) 2927.837 (31.37%) 1053.98 (11.29%)
aliyun_ecs.g8y.large zulu8.82.0.21 6115.897 2206.331 (36.08%) 2922.855 (47.79%) 1250.707 (20.45%)
jdk-11.0.20 7118.318 2086.115 (29.31%) 2635.683 (37.03%) 1303.552 (18.31%)
zulu17.54.21 7641.073 2092.235 (27.38%) 2829.818 (37.03%) 920.156 (12.04%)
jdk-21.0.2 7434.936 2417.553 (32.52%) 2661.315 (35.79%) 905.053 (12.17%)
graalvm_21+35.1 9030.048 2241.279 (24.82%) 3063.055 (33.92%) 872.898 (9.67%)
orangepi5p zulu8.68.0.21 5080.282 1365.222 (26.87%) 1991.412 (39.2%) 863.736 (17%)
jdk-11.0.19 5438.956 1693.404 (31.13%) 1824.223 (33.54%) 829.681 (15.25%)
jdk-17.0.7 5324.51 1871.033 (35.14%) 2003.423 (37.63%) 736.671 (13.84%)
jdk-21 5467.355 1239.955 (22.68%) 1832.703 (33.52%) 717.325 (13.12%)
graalvm_21+35.1 6554.53 1819.277 (27.76%) 1880.057 (28.68%) 679.585 (10.37%)
orangepi_aipro zulu8.82.0.21 1408.163 310.072 (22.02%) 467.823 (33.22%) 237.309 (16.85%)
jdk-11.0.20 1469.057 319.776 (21.77%) 431.459 (29.37%) 194.421 (13.23%)
jdk-17.0.8 1669.948 367.971 (22.03%) 468.776 (28.07%) 109.612 (6.56%)
jdk-21.0.2 1653.138 328.084 (19.85%) 484.269 (29.29%) 107.472 (6.5%)
graalvm_21+35.1 1871.562 380.806 (20.35%) 485.527 (25.94%) 102.697 (5.49%)
MacBookM1Pro zulu-8.jdk 22043.392 7437.006 (33.74%) 10684.913 (48.47%) 4910.356 (22.28%)
zulu-11.jdk 13710.139 6348.834 (46.31%) 5784.317 (42.19%) 2757.02 (20.11%)
zulu-17.jdk 22701.729 9047.117 (39.85%) 10712.416 (47.19%) 4272.756 (18.82%)
zulu-21.jdk 23925.035 6356.444 (26.57%) 9487.798 (39.66%) 4219.922 (17.64%)
graalvm_21+35.1 25510.046 8946.849 (35.07%) 11209.821 (43.94%) 3360.263 (13.17%)

20. EishayWriteUTF8BytesTree

这个场景是将JSONObject或者Map序列化为UTF8编码的Bytes

aliyun ecs spec jdk version fastjson2 jackson
aliyun_ecs.c8a.large jdk1.8.0_381 4220.865 2548.425 (60.38%)
jdk-11.0.20 3802.127 1952.052 (51.34%)
jdk-17.0.8 4157.388 2291.761 (55.13%)
jdk-21.0.2 4267.626 2523.176 (59.12%)
aliyun_ecs.c8i.large jdk1.8.0_381 2477.642 1424.886 (57.51%)
jdk-11.0.20 2334.429 1220.035 (52.26%)
jdk-17.0.8 3873.562 1588.05 (41%)
jdk-21.0.2 3660.717 1963.775 (53.64%)
graalvm_21+35.1 4382.981 3165.11 (72.21%)
aliyun_ecs.g8y.large zulu8.82.0.21 4847.147 3138.462 (64.75%)
jdk-11.0.20 3860.726 2531.864 (65.58%)
zulu17.54.21 4340.397 2755.011 (63.47%)
jdk-21.0.2 5364.365 3005.905 (56.03%)
graalvm_21+35.1 5758.194 3492.868 (60.66%)
orangepi5p zulu8.68.0.21 3228.408 2059.386 (63.79%)
jdk-11.0.19 3163.322 1859.782 (58.79%)
jdk-17.0.7 2795.149 1973.628 (70.61%)
jdk-21 3306.498 1971.161 (59.61%)
graalvm_21+35.1 3591.833 2500.829 (69.63%)
orangepi_aipro zulu8.82.0.21 846.936 588.071 (69.44%)
jdk-11.0.20 717.007 445.44 (62.12%)
jdk-17.0.8 762.097 541.279 (71.02%)
jdk-21.0.2 1005.063 546.505 (54.38%)
graalvm_21+35.1 1047.948 667.627 (63.71%)
MacBookM1Pro zulu-8.jdk 12275.175 10653.728 (86.79%)
zulu-11.jdk 9110.938 5545.434 (60.87%)
zulu-17.jdk 10557.417 8629.321 (81.74%)
zulu-21.jdk 10868.813 8137.732 (74.87%)
graalvm_21+35.1 14651.313 10110.478 (69.01%)