@@ -35,44 +35,134 @@ $ npm install @napi-rs/magic-string
35
35
36
36
Note: Web-Assembly is currently not supported, but it's on the plan.
37
37
38
+ ## Performance
38
39
39
- ## Benchmark
40
+ ### Hardware info
40
41
41
42
```
42
- Running "toString" suite...
43
+ Model Name: MacBook Pro
44
+ Model Identifier: MacBookPro17,1
45
+ Chip: Apple M1
46
+ Total Number of Cores: 8 (4 performance and 4 efficiency)
47
+ Memory: 16 GB
48
+ ```
49
+
50
+ ### Benchmark
51
+
52
+ ```
53
+ Running "overwrite" suite...
54
+ Progress: 100%
55
+
56
+ MagicString:
57
+ 238 584 ops/s, ±0.34% | slowest, 50.7% slower
58
+
59
+ MagicStringRust:
60
+ 483 950 ops/s, ±2.13% | fastest
61
+
62
+ Finished 2 cases!
63
+ Fastest: MagicStringRust
64
+ Slowest: MagicString
65
+
66
+ Running "prepend|append" suite...
67
+ Progress: 100%
68
+
69
+ MagicString:
70
+ 290 244 ops/s, ±1.35% | slowest, 48.35% slower
71
+
72
+ MagicStringRust:
73
+ 561 981 ops/s, ±6.71% | fastest
74
+
75
+ Finished 2 cases!
76
+ Fastest: MagicStringRust
77
+ Slowest: MagicString
78
+
79
+ Running "add banner#toString" suite...
80
+ Progress: 100%
81
+
82
+ MagicString:
83
+ 301 467 ops/s, ±0.29% | slowest, 37.66% slower
84
+
85
+ MagicStringRust:
86
+ 483 586 ops/s, ±5.50% | fastest
87
+
88
+ Finished 2 cases!
89
+ Fastest: MagicStringRust
90
+ Slowest: MagicString
91
+
92
+ Running "add banner#generateDecodedMap" suite...
93
+ Progress: 100%
94
+
95
+ MagicString:
96
+ 233 702 ops/s, ±0.76% | fastest
97
+
98
+ MagicStringRust:
99
+ 229 899 ops/s, ±2.68% | slowest, 1.63% slower
100
+
101
+ Finished 2 cases!
102
+ Fastest: MagicString
103
+ Slowest: MagicStringRust
104
+
105
+ Running "add banner#generateMapHires" suite...
43
106
Progress: 100%
44
107
45
108
MagicString:
46
- 226 614 ops/s, ±0.08 % | slowest, 42.65% slower
109
+ 177 783 ops/s, ±1.84 % | fastest
47
110
48
111
MagicStringRust:
49
- 395 166 ops/s, ±1.83% | fastest
112
+ 90 780 ops/s, ±1.00% | slowest, 48.94% slower
113
+
114
+ Finished 2 cases!
115
+ Fastest: MagicString
116
+ Slowest: MagicStringRust
117
+
118
+ Running "add banner#generateMap" suite...
119
+ Progress: 100%
120
+
121
+ MagicString:
122
+ 227 594 ops/s, ±0.68% | slowest, 0.42% slow
123
+ er
124
+
125
+ MagicStringRust:
126
+ 228 545 ops/s, ±0.82% | fastest
50
127
51
128
Finished 2 cases!
52
129
Fastest: MagicStringRust
53
130
Slowest: MagicString
54
-
55
- Running "generateDecodedMap " suite...
131
+
132
+ Running "add banner#generateMap.toString " suite...
56
133
Progress: 100%
57
134
58
135
MagicString:
59
- 173 590 ops/s, ±0.55 % | slowest, 18.84 % slower
136
+ 201 272 ops/s, ±0.47 % | slowest, 21.86 % slower
60
137
61
138
MagicStringRust:
62
- 213 893 ops/s, ±0.75 % | fastest
139
+ 257 577 ops/s, ±2.38 % | fastest
63
140
64
141
Finished 2 cases!
65
142
Fastest: MagicStringRust
66
143
Slowest: MagicString
67
-
68
- Running "generateMap .toString" suite...
144
+
145
+ Running "add banner#generateMapHires .toString" suite...
69
146
Progress: 100%
70
147
71
148
MagicString:
72
- 141 658 ops/s, ±0.53 % | slowest, 31.48% slower
149
+ 157 685 ops/s, ±0.18 % | fastest
73
150
74
151
MagicStringRust:
75
- 206 744 ops/s, ±0.64% | fastest
152
+ 95 510 ops/s, ±1.00% | slowest, 39.43% slower
153
+
154
+ Finished 2 cases!
155
+ Fastest: MagicString
156
+ Slowest: MagicStringRust
157
+
158
+ Running "add banner#generateMap.toUrl" suite...
159
+ Progress: 100%
160
+
161
+ MagicString:
162
+ 182 161 ops/s, ±0.65% | slowest, 25.04% slower
163
+
164
+ MagicStringRust:
165
+ 243 019 ops/s, ±0.98% | fastest
76
166
77
167
Finished 2 cases!
78
168
Fastest: MagicStringRust
@@ -83,7 +173,6 @@ Finished 2 cases!
83
173
84
174
[ doc.rs] ( https://docs.rs/magic_string/latest/magic_string )
85
175
86
-
87
176
## Supported APIs
88
177
89
178
- [x] generateMap: Note that there is a huge overhead for rust for implementing the same API in Node, for more detail please refer to [ this] ( ./node/index.d.ts )
@@ -109,7 +198,6 @@ Finished 2 cases!
109
198
- [ ] slice
110
199
- [ ] snip
111
200
112
-
113
201
## Credits
114
202
115
203
The original project [ magic-string] ( https://github.com/Rich-Harris/magic-string ) is really awesome, you should check it out and we made this project even furthur for better performance.
0 commit comments