1
- benchmark result
2
- ----------
1
+ # benchmark result
3
2
3
+ ## Node.js v22
4
+
5
+ ``` bash
6
+ node benchmark/encode.js
7
+
8
+ Hessian Encode Benchmark
9
+ node version: v22.2.0, date: Fri May 24 2024 13:52:49 GMT+0800 (中国标准时间)
10
+ Starting...
11
+ 16 tests completed.
12
+
13
+ hessian1 encode: number x 10,554,236 ops/sec ±0.37% (93 runs sampled)
14
+ hessian2 encode: number x 10,119,997 ops/sec ±0.41% (97 runs sampled)
15
+ hessian1 encode: date x 5,193,957 ops/sec ±1.77% (94 runs sampled)
16
+ hessian2 encode: date x 4,876,796 ops/sec ±0.33% (98 runs sampled)
17
+ hessian1 encode: long x 2,980,923 ops/sec ±2.48% (92 runs sampled)
18
+ hessian2 encode: long x 3,139,771 ops/sec ±1.68% (99 runs sampled)
19
+ hessian1 encode: string x 5,669,817 ops/sec ±0.24% (97 runs sampled)
20
+ hessian2 encode: string x 5,727,011 ops/sec ±1.36% (95 runs sampled)
21
+ hessian1 encode: [1, 2, 3] x 3,732,383 ops/sec ±0.22% (98 runs sampled)
22
+ hessian2 encode: [1, 2, 3] x 4,939,881 ops/sec ±0.88% (97 runs sampled)
23
+ hessian1 encode array x 2,651,986 ops/sec ±3.28% (93 runs sampled)
24
+ hessian2 encode array x 3,385,830 ops/sec ±2.00% (93 runs sampled)
25
+ hessian1 encode: simple object x 853,545 ops/sec ±1.84% (91 runs sampled)
26
+ hessian2 encode: simple object x 700,040 ops/sec ±1.97% (94 runs sampled)
27
+ hessian1 encode: complex object x 528,378 ops/sec ±0.64% (94 runs sampled)
28
+ hessian2 encode: complex object x 370,348 ops/sec ±3.26% (89 runs sampled)
29
+
30
+ node benchmark/decode.js
31
+
32
+ Hessian Decode Benchmark
33
+ node version: v22.2.0, date: Fri May 24 2024 14:02:32 GMT+0800 (中国标准时间)
34
+ Starting...
35
+ 43 tests completed.
36
+
37
+ hessian1 decode: number x 24,540,871 ops/sec ±2.50% (90 runs sampled)
38
+ hessian2 decode: number x 27,356,290 ops/sec ±0.94% (96 runs sampled)
39
+ hessian2Rust decode: number x 3,077,722 ops/sec ±1.65% (98 runs sampled)
40
+ hessian1 decode: date x 9,668,136 ops/sec ±0.39% (99 runs sampled)
41
+ hessian2 decode: date x 10,680,207 ops/sec ±0.67% (95 runs sampled)
42
+ hessian2Rust decode: date x 2,694,485 ops/sec ±1.78% (98 runs sampled)
43
+ hessian1 decode: long x 18,085,628 ops/sec ±0.64% (95 runs sampled)
44
+ hessian2 decode: long x 22,022,242 ops/sec ±2.59% (91 runs sampled)
45
+ hessian2Rust decode: long x 3,084,618 ops/sec ±1.64% (96 runs sampled)
46
+ hessian1 decode: string x 6,401,052 ops/sec ±0.28% (98 runs sampled)
47
+ hessian2 decode: string x 6,792,350 ops/sec ±2.05% (93 runs sampled)
48
+ hessian2Rust decode: string x 2,966,870 ops/sec ±0.42% (99 runs sampled)
49
+ hessian1 decode: big string x 699,627 ops/sec ±0.41% (101 runs sampled)
50
+ hessian2 decode: big string x 698,909 ops/sec ±1.70% (99 runs sampled)
51
+ hessian2Rust decode: big string x 2,135,147 ops/sec ±1.74% (97 runs sampled)
52
+ hessian1 decode: [1, 2, 3] x 3,554,109 ops/sec ±2.46% (98 runs sampled)
53
+ hessian2 decode: [1, 2, 3] x 2,910,527 ops/sec ±0.29% (95 runs sampled)
54
+ hessian2Rust decode: [1, 2, 3] x 2,692,313 ops/sec ±0.49% (101 runs sampled)
55
+ hessian1 decode array x 2,180,612 ops/sec ±3.91% (87 runs sampled)
56
+ hessian2 decode array x 1,951,631 ops/sec ±1.40% (98 runs sampled)
57
+ hessian2Rust decode: array x 2,262,801 ops/sec ±3.33% (97 runs sampled)
58
+ hessian1 decode: simple object x 625,004 ops/sec ±2.32% (96 runs sampled)
59
+ hessian2 decode: simple object x 893,804 ops/sec ±2.95% (94 runs sampled)
60
+ hessian2Rust decode: simple object x 1,839,489 ops/sec ±2.49% (88 runs sampled)
61
+ hessian1 decode: complex object x 221,339 ops/sec ±0.64% (98 runs sampled)
62
+ hessian2 decode: complex object x 214,527 ops/sec ±2.07% (95 runs sampled)
63
+ hessian2Rust decode: complex object x 948,581 ops/sec ±3.15% (94 runs sampled)
64
+ hessian1 decode with type: number x 15,554,965 ops/sec ±6.16% (88 runs sampled)
65
+ hessian2 decode with type: number x 21,231,192 ops/sec ±5.09% (88 runs sampled)
66
+ hessian1 decode with type: date x 9,253,355 ops/sec ±2.75% (99 runs sampled)
67
+ hessian2 decode with type: date x 9,216,938 ops/sec ±1.56% (94 runs sampled)
68
+ hessian1 decode with type: long x 14,444,300 ops/sec ±5.22% (89 runs sampled)
69
+ hessian2 decode with type: long x 18,387,719 ops/sec ±1.79% (95 runs sampled)
70
+ hessian1 decode with type: string x 5,992,505 ops/sec ±2.58% (96 runs sampled)
71
+ hessian2 decode with type: string x 6,541,498 ops/sec ±3.37% (92 runs sampled)
72
+ hessian1 decode with type: [1, 2, 3] x 3,244,874 ops/sec ±1.94% (98 runs sampled)
73
+ hessian2 decode with type: [1, 2, 3] x 2,634,191 ops/sec ±2.76% (97 runs sampled)
74
+ hessian1 decode with type array x 2,185,654 ops/sec ±0.56% (100 runs sampled)
75
+ hessian2 decode with type array x 1,939,382 ops/sec ±1.42% (100 runs sampled)
76
+ hessian1 decode with type: simple object x 621,216 ops/sec ±1.28% (98 runs sampled)
77
+ hessian2 decode with type: simple object x 632,073 ops/sec ±6.58% (88 runs sampled)
78
+ hessian1 decode with type: complex object x 199,833 ops/sec ±4.69% (92 runs sampled)
79
+ hessian2 decode with type: complex object x 216,281 ops/sec ±1.97% (95 runs sampled)
4
80
```
81
+
82
+ ## Node.js v20
83
+
84
+ ``` bash
85
+ node benchmark/encode.js
86
+
87
+ Hessian Encode Benchmark
88
+ node version: v20.13.1, date: Fri May 24 2024 13:55:48 GMT+0800 (中国标准时间)
89
+ Starting...
90
+ 16 tests completed.
91
+
92
+ hessian1 encode: number x 8,226,045 ops/sec ±2.40% (95 runs sampled)
93
+ hessian2 encode: number x 8,218,262 ops/sec ±0.45% (98 runs sampled)
94
+ hessian1 encode: date x 4,565,281 ops/sec ±1.51% (99 runs sampled)
95
+ hessian2 encode: date x 4,310,345 ops/sec ±0.47% (97 runs sampled)
96
+ hessian1 encode: long x 2,723,516 ops/sec ±4.46% (95 runs sampled)
97
+ hessian2 encode: long x 2,846,924 ops/sec ±2.39% (97 runs sampled)
98
+ hessian1 encode: string x 5,151,812 ops/sec ±0.80% (96 runs sampled)
99
+ hessian2 encode: string x 4,731,159 ops/sec ±2.99% (95 runs sampled)
100
+ hessian1 encode: [1, 2, 3] x 3,869,170 ops/sec ±1.76% (94 runs sampled)
101
+ hessian2 encode: [1, 2, 3] x 4,534,955 ops/sec ±0.50% (99 runs sampled)
102
+ hessian1 encode array x 2,587,918 ops/sec ±2.35% (90 runs sampled)
103
+ hessian2 encode array x 2,728,079 ops/sec ±5.56% (82 runs sampled)
104
+ hessian1 encode: simple object x 900,016 ops/sec ±1.76% (97 runs sampled)
105
+ hessian2 encode: simple object x 661,227 ops/sec ±0.85% (93 runs sampled)
106
+ hessian1 encode: complex object x 525,927 ops/sec ±1.73% (94 runs sampled)
107
+ hessian2 encode: complex object x 361,606 ops/sec ±1.95% (97 runs sampled)
108
+
109
+ node benchmark/decode.js
110
+
111
+ Hessian Decode Benchmark
112
+ node version: v20.13.1, date: Fri May 24 2024 13:57:47 GMT+0800 (中国标准时间)
113
+ Starting...
114
+ 43 tests completed.
115
+
116
+ hessian1 decode: number x 32,416,495 ops/sec ±1.18% (94 runs sampled)
117
+ hessian2 decode: number x 25,832,730 ops/sec ±1.90% (95 runs sampled)
118
+ hessian2Rust decode: number x 2,768,621 ops/sec ±1.57% (95 runs sampled)
119
+ hessian1 decode: date x 10,137,457 ops/sec ±0.49% (99 runs sampled)
120
+ hessian2 decode: date x 8,578,054 ops/sec ±0.77% (95 runs sampled)
121
+ hessian2Rust decode: date x 2,531,389 ops/sec ±1.76% (98 runs sampled)
122
+ hessian1 decode: long x 16,355,409 ops/sec ±3.09% (89 runs sampled)
123
+ hessian2 decode: long x 20,265,271 ops/sec ±0.38% (98 runs sampled)
124
+ hessian2Rust decode: long x 2,786,180 ops/sec ±2.66% (96 runs sampled)
125
+ hessian1 decode: string x 6,208,129 ops/sec ±0.89% (94 runs sampled)
126
+ hessian2 decode: string x 5,739,177 ops/sec ±3.80% (96 runs sampled)
127
+ hessian2Rust decode: string x 2,759,285 ops/sec ±0.35% (98 runs sampled)
128
+ hessian1 decode: big string x 613,086 ops/sec ±0.24% (100 runs sampled)
129
+ hessian2 decode: big string x 604,938 ops/sec ±1.81% (90 runs sampled)
130
+ hessian2Rust decode: big string x 2,054,952 ops/sec ±1.92% (97 runs sampled)
131
+ hessian1 decode: [1, 2, 3] x 3,801,102 ops/sec ±0.35% (100 runs sampled)
132
+ hessian2 decode: [1, 2, 3] x 2,730,022 ops/sec ±4.94% (95 runs sampled)
133
+ hessian2Rust decode: [1, 2, 3] x 2,515,488 ops/sec ±1.01% (97 runs sampled)
134
+ hessian1 decode array x 2,299,841 ops/sec ±1.70% (97 runs sampled)
135
+ hessian2 decode array x 1,845,252 ops/sec ±0.27% (98 runs sampled)
136
+ hessian2Rust decode: array x 2,240,111 ops/sec ±0.23% (100 runs sampled)
137
+ hessian1 decode: simple object x 625,217 ops/sec ±1.74% (98 runs sampled)
138
+ hessian2 decode: simple object x 802,609 ops/sec ±2.56% (93 runs sampled)
139
+ hessian2Rust decode: simple object x 1,752,187 ops/sec ±1.97% (96 runs sampled)
140
+ hessian1 decode: complex object x 213,708 ops/sec ±0.47% (98 runs sampled)
141
+ hessian2 decode: complex object x 213,818 ops/sec ±0.23% (98 runs sampled)
142
+ hessian2Rust decode: complex object x 939,202 ops/sec ±1.66% (100 runs sampled)
143
+ hessian1 decode with type: number x 17,512,197 ops/sec ±5.49% (90 runs sampled)
144
+ hessian2 decode with type: number x 20,193,259 ops/sec ±1.02% (98 runs sampled)
145
+ hessian1 decode with type: date x 8,217,014 ops/sec ±3.32% (95 runs sampled)
146
+ hessian2 decode with type: date x 7,980,575 ops/sec ±0.28% (98 runs sampled)
147
+ hessian1 decode with type: long x 14,233,917 ops/sec ±1.78% (99 runs sampled)
148
+ hessian2 decode with type: long x 16,366,688 ops/sec ±0.47% (97 runs sampled)
149
+ hessian1 decode with type: string x 5,777,330 ops/sec ±0.58% (98 runs sampled)
150
+ hessian2 decode with type: string x 5,875,199 ops/sec ±1.02% (99 runs sampled)
151
+ hessian1 decode with type: [1, 2, 3] x 3,444,434 ops/sec ±0.59% (94 runs sampled)
152
+ hessian2 decode with type: [1, 2, 3] x 2,562,302 ops/sec ±2.46% (99 runs sampled)
153
+ hessian1 decode with type array x 2,132,214 ops/sec ±2.47% (95 runs sampled)
154
+ hessian2 decode with type array x 1,733,859 ops/sec ±7.67% (91 runs sampled)
155
+ hessian1 decode with type: simple object x 614,079 ops/sec ±1.75% (96 runs sampled)
156
+ hessian2 decode with type: simple object x 651,032 ops/sec ±0.49% (96 runs sampled)
157
+ hessian1 decode with type: complex object x 208,839 ops/sec ±1.04% (96 runs sampled)
158
+ hessian2 decode with type: complex object x 209,027 ops/sec ±2.12% (99 runs sampled)
159
+ ```
160
+
161
+ ## Node.js v18
162
+
163
+ ``` bash
5
164
node benchmark/encode.js
6
165
7
166
Hessian Encode Benchmark
@@ -26,6 +185,7 @@ node benchmark/encode.js
26
185
hessian1 encode: complex object x 258,920 ops/sec ±0.97% (88 runs sampled)
27
186
hessian2 encode: complex object x 228,646 ops/sec ±2.54% (83 runs sampled)
28
187
188
+ node benchmark/decode.js
29
189
30
190
Hessian Decode Benchmark
31
191
node version: v18.9.0, date: Tue Apr 11 2023 10:39:10 GMT+0800 (中国标准时间)
@@ -59,4 +219,4 @@ node benchmark/encode.js
59
219
hessian1 decode: complex object x 148,108 ops/sec ±0.68% (94 runs sampled)
60
220
hessian2 decode: complex object x 155,768 ops/sec ±0.59% (92 runs sampled)
61
221
hessian2Rust decode: complex object x 397,446 ops/sec ±0.59% (94 runs sampled)
62
- ```
222
+ ```
0 commit comments