1
+ #![ allow( non_snake_case) ]
2
+
1
3
use pmutil:: q;
2
4
use proc_macro2:: { Span , TokenStream } ;
3
5
use syn:: { Expr , Ident , ImplItem , ImplItemFn , ItemImpl , Meta , Type } ;
@@ -29,11 +31,9 @@ pub fn expand(attr: TokenStream, mut item: ItemImpl) -> ItemImpl {
29
31
mode,
30
32
"module_items" ,
31
33
explode,
32
- 100 ,
33
- ) ) ) ;
34
- item. items . push ( ImplItem :: Fn ( make_par_visit_method (
35
- mode, "stmts" , explode, 100 ,
36
34
) ) ) ;
35
+ item. items
36
+ . push ( ImplItem :: Fn ( make_par_visit_method ( mode, "stmts" , explode) ) ) ;
37
37
38
38
item
39
39
}
@@ -85,20 +85,15 @@ fn explode_hook_method_name(explode: bool, suffix: &str) -> Option<Ident> {
85
85
}
86
86
}
87
87
88
- fn make_par_visit_method ( mode : Mode , suffix : & str , explode : bool , threshold : usize ) -> ImplItemFn {
88
+ fn make_par_visit_method ( mode : Mode , suffix : & str , explode : bool ) -> ImplItemFn {
89
89
let method_name = Ident :: new ( & format ! ( "{}_{}" , mode. prefix( ) , suffix) , Span :: call_site ( ) ) ;
90
90
let hook = post_visit_hook ( mode, suffix) ;
91
91
let explode_method_name = explode_hook_method_name ( explode, suffix) ;
92
92
93
- let threshold = q ! ( Vars { threshold } , {
94
- ( swc_ecma_transforms_base:: perf:: cpu_count( ) * threshold)
95
- } ) ;
96
-
97
93
match ( mode, explode_method_name) {
98
94
( Mode :: Fold , Some ( explode_method_name) ) => q ! (
99
95
Vars {
100
96
NodeType : node_type( suffix) ,
101
- threshold,
102
97
method_name,
103
98
hook,
104
99
explode_method_name,
@@ -109,63 +104,6 @@ fn make_par_visit_method(mode: Mode, suffix: &str, explode: bool, threshold: usi
109
104
use swc_ecma_transforms_base:: perf:: { ParExplode , Parallel } ;
110
105
use swc_ecma_visit:: FoldWith ;
111
106
112
- #[ cfg( feature = "rayon" ) ]
113
- if nodes. len( ) >= threshold || option_env!( "SWC_FORCE_CONCURRENT" ) == Some ( "1" )
114
- {
115
- use rayon:: prelude:: * ;
116
-
117
- let ( visitor, mut nodes) = :: swc_common:: GLOBALS . with( |globals| {
118
- swc_ecma_transforms_base:: helpers:: HELPERS . with( |helpers| {
119
- HANDLER . with( |handler| {
120
- nodes
121
- . into_par_iter( )
122
- . map( |node| {
123
- :: swc_common:: GLOBALS . set( & globals, || {
124
- swc_ecma_transforms_base:: helpers:: HELPERS . set(
125
- helpers,
126
- || {
127
- HANDLER . set( handler, || {
128
- let mut visitor =
129
- Parallel :: create( & * self ) ;
130
- let node = node. fold_with( & mut visitor) ;
131
- let mut nodes = Vec :: with_capacity( 4 ) ;
132
-
133
- ParExplode :: explode_method_name(
134
- & mut visitor,
135
- & mut nodes,
136
- ) ;
137
-
138
- nodes. push( node) ;
139
-
140
- ( visitor, nodes)
141
- } )
142
- } ,
143
- )
144
- } )
145
- } )
146
- . reduce(
147
- || ( Parallel :: create( & * self ) , vec![ ] ) ,
148
- |mut a, b| {
149
- Parallel :: merge( & mut a. 0 , b. 0 ) ;
150
-
151
- a. 1 . extend( b. 1 ) ;
152
-
153
- a
154
- } ,
155
- )
156
- } )
157
- } )
158
- } ) ;
159
-
160
- Parallel :: merge( self , visitor) ;
161
-
162
- {
163
- hook;
164
- }
165
-
166
- return nodes;
167
- }
168
-
169
107
let mut buf = Vec :: with_capacity( nodes. len( ) ) ;
170
108
171
109
for node in nodes {
@@ -189,7 +127,6 @@ fn make_par_visit_method(mode: Mode, suffix: &str, explode: bool, threshold: usi
189
127
( Mode :: Fold , None ) => q ! (
190
128
Vars {
191
129
NodeType : node_type( suffix) ,
192
- threshold,
193
130
method_name,
194
131
hook,
195
132
} ,
@@ -199,65 +136,6 @@ fn make_par_visit_method(mode: Mode, suffix: &str, explode: bool, threshold: usi
199
136
use swc_ecma_transforms_base:: perf:: Parallel ;
200
137
use swc_ecma_visit:: FoldWith ;
201
138
202
- #[ cfg( feature = "rayon" ) ]
203
- if nodes. len( ) >= threshold || option_env!( "SWC_FORCE_CONCURRENT" ) == Some ( "1" )
204
- {
205
- use rayon:: prelude:: * ;
206
-
207
- let ( visitor, mut nodes) = :: swc_common:: GLOBALS . with( |globals| {
208
- swc_ecma_transforms_base:: helpers:: HELPERS . with( |helpers| {
209
- HANDLER . with( |handler| {
210
- nodes
211
- . into_par_iter( )
212
- . map( |node| {
213
- :: swc_common:: GLOBALS . set( & globals, || {
214
- swc_ecma_transforms_base:: helpers:: HELPERS . set(
215
- helpers,
216
- || {
217
- HANDLER . set( handler, || {
218
- let mut visitor =
219
- Parallel :: create( & * self ) ;
220
- let node = node. fold_with( & mut visitor) ;
221
-
222
- ( visitor, node)
223
- } )
224
- } ,
225
- )
226
- } )
227
- } )
228
- . fold(
229
- || ( Parallel :: create( & * self ) , vec![ ] ) ,
230
- |mut a, b| {
231
- Parallel :: merge( & mut a. 0 , b. 0 ) ;
232
-
233
- a. 1 . push( b. 1 ) ;
234
-
235
- a
236
- } ,
237
- )
238
- . reduce(
239
- || ( Parallel :: create( & * self ) , vec![ ] ) ,
240
- |mut a, b| {
241
- Parallel :: merge( & mut a. 0 , b. 0 ) ;
242
-
243
- a. 1 . extend( b. 1 ) ;
244
-
245
- a
246
- } ,
247
- )
248
- } )
249
- } )
250
- } ) ;
251
-
252
- Parallel :: merge( self , visitor) ;
253
-
254
- {
255
- hook;
256
- }
257
-
258
- return nodes;
259
- }
260
-
261
139
let mut nodes = nodes. fold_children_with( self ) ;
262
140
{
263
141
hook;
@@ -272,7 +150,6 @@ fn make_par_visit_method(mode: Mode, suffix: &str, explode: bool, threshold: usi
272
150
( Mode :: VisitMut , Some ( explode_method_name) ) => q ! (
273
151
Vars {
274
152
NodeType : node_type( suffix) ,
275
- threshold,
276
153
method_name,
277
154
hook,
278
155
explode_method_name
@@ -285,66 +162,6 @@ fn make_par_visit_method(mode: Mode, suffix: &str, explode: bool, threshold: usi
285
162
use swc_ecma_transforms_base:: perf:: { ParExplode , Parallel } ;
286
163
use swc_ecma_visit:: VisitMutWith ;
287
164
288
- #[ cfg( feature = "rayon" ) ]
289
- if nodes. len( ) >= threshold || option_env!( "SWC_FORCE_CONCURRENT" ) == Some ( "1" )
290
- {
291
- :: swc_common:: GLOBALS . with( |globals| {
292
- swc_ecma_transforms_base:: helpers:: HELPERS . with( |helpers| {
293
- HANDLER . with( |handler| {
294
- use rayon:: prelude:: * ;
295
-
296
- let ( visitor, new_nodes) = take( nodes)
297
- . into_par_iter( )
298
- . map( |mut node| {
299
- :: swc_common:: GLOBALS . set( & globals, || {
300
- swc_ecma_transforms_base:: helpers:: HELPERS . set(
301
- helpers,
302
- || {
303
- HANDLER . set( handler, || {
304
- let mut visitor =
305
- Parallel :: create( & * self ) ;
306
- node. visit_mut_with( & mut visitor) ;
307
-
308
- let mut nodes = Vec :: with_capacity( 4 ) ;
309
-
310
- ParExplode :: explode_method_name(
311
- & mut visitor,
312
- & mut nodes,
313
- ) ;
314
-
315
- nodes. push( node) ;
316
-
317
- ( visitor, nodes)
318
- } )
319
- } ,
320
- )
321
- } )
322
- } )
323
- . reduce(
324
- || ( Parallel :: create( & * self ) , vec![ ] ) ,
325
- |mut a, b| {
326
- Parallel :: merge( & mut a. 0 , b. 0 ) ;
327
-
328
- a. 1 . extend( b. 1 ) ;
329
-
330
- a
331
- } ,
332
- ) ;
333
-
334
- Parallel :: merge( self , visitor) ;
335
-
336
- {
337
- hook;
338
- }
339
-
340
- * nodes = new_nodes;
341
- } )
342
- } )
343
- } ) ;
344
-
345
- return ;
346
- }
347
-
348
165
let mut buf = Vec :: with_capacity( nodes. len( ) ) ;
349
166
350
167
for mut node in take( nodes) {
@@ -367,7 +184,6 @@ fn make_par_visit_method(mode: Mode, suffix: &str, explode: bool, threshold: usi
367
184
( Mode :: VisitMut , None ) => q ! (
368
185
Vars {
369
186
NodeType : node_type( suffix) ,
370
- threshold,
371
187
method_name,
372
188
hook,
373
189
} ,
@@ -377,53 +193,6 @@ fn make_par_visit_method(mode: Mode, suffix: &str, explode: bool, threshold: usi
377
193
use swc_ecma_transforms_base:: perf:: Parallel ;
378
194
use swc_ecma_visit:: VisitMutWith ;
379
195
380
- #[ cfg( feature = "rayon" ) ]
381
- if nodes. len( ) >= threshold || option_env!( "SWC_FORCE_CONCURRENT" ) == Some ( "1" )
382
- {
383
- :: swc_common:: GLOBALS . with( |globals| {
384
- swc_ecma_transforms_base:: helpers:: HELPERS . with( |helpers| {
385
- HANDLER . with( |handler| {
386
- use rayon:: prelude:: * ;
387
-
388
- let visitor = nodes
389
- . into_par_iter( )
390
- . map( |node| {
391
- :: swc_common:: GLOBALS . set( & globals, || {
392
- swc_ecma_transforms_base:: helpers:: HELPERS . set(
393
- helpers,
394
- || {
395
- HANDLER . set( handler, || {
396
- let mut visitor =
397
- Parallel :: create( & * self ) ;
398
- node. visit_mut_with( & mut visitor) ;
399
-
400
- visitor
401
- } )
402
- } ,
403
- )
404
- } )
405
- } )
406
- . reduce(
407
- || Parallel :: create( & * self ) ,
408
- |mut a, b| {
409
- Parallel :: merge( & mut a, b) ;
410
-
411
- a
412
- } ,
413
- ) ;
414
-
415
- Parallel :: merge( self , visitor) ;
416
-
417
- {
418
- hook;
419
- }
420
- } )
421
- } )
422
- } ) ;
423
-
424
- return ;
425
- }
426
-
427
196
nodes. visit_mut_children_with( self ) ;
428
197
{
429
198
hook;
1 commit comments
github-actions[bot] commentedon Aug 29, 2023
Benchmark
es/full/bugs-1
297477
ns/iter (± 10965
)287815
ns/iter (± 7460
)1.03
es/full/minify/libraries/antd
1398844945
ns/iter (± 14485520
)1405333116
ns/iter (± 17684766
)1.00
es/full/minify/libraries/d3
291508053
ns/iter (± 6794911
)287995335
ns/iter (± 2350086
)1.01
es/full/minify/libraries/echarts
1131738893
ns/iter (± 9575779
)1132260295
ns/iter (± 13448868
)1.00
es/full/minify/libraries/jquery
86562678
ns/iter (± 486225
)86091765
ns/iter (± 501548
)1.01
es/full/minify/libraries/lodash
100129730
ns/iter (± 1116613
)99012935
ns/iter (± 795542
)1.01
es/full/minify/libraries/moment
51010459
ns/iter (± 478201
)51397756
ns/iter (± 462699
)0.99
es/full/minify/libraries/react
18230514
ns/iter (± 149057
)18405070
ns/iter (± 151662
)0.99
es/full/minify/libraries/terser
227364173
ns/iter (± 2195504
)228301801
ns/iter (± 3840616
)1.00
es/full/minify/libraries/three
413922373
ns/iter (± 7634614
)417697433
ns/iter (± 5348116
)0.99
es/full/minify/libraries/typescript
2794314118
ns/iter (± 18358894
)2792774919
ns/iter (± 24108622
)1.00
es/full/minify/libraries/victory
620937338
ns/iter (± 11534755
)628533291
ns/iter (± 14397102
)0.99
es/full/minify/libraries/vue
122158101
ns/iter (± 1049819
)123021088
ns/iter (± 1471701
)0.99
es/full/codegen/es3
33702
ns/iter (± 257
)33165
ns/iter (± 141
)1.02
es/full/codegen/es5
33696
ns/iter (± 107
)33131
ns/iter (± 124
)1.02
es/full/codegen/es2015
33812
ns/iter (± 95
)33184
ns/iter (± 129
)1.02
es/full/codegen/es2016
33968
ns/iter (± 316
)33334
ns/iter (± 97
)1.02
es/full/codegen/es2017
33887
ns/iter (± 71
)33286
ns/iter (± 61
)1.02
es/full/codegen/es2018
33813
ns/iter (± 96
)33090
ns/iter (± 44
)1.02
es/full/codegen/es2019
33753
ns/iter (± 78
)33305
ns/iter (± 93
)1.01
es/full/codegen/es2020
33655
ns/iter (± 124
)33153
ns/iter (± 88
)1.02
es/full/all/es3
176544976
ns/iter (± 4798887
)169723357
ns/iter (± 1292767
)1.04
es/full/all/es5
164547525
ns/iter (± 1268525
)161874558
ns/iter (± 1810073
)1.02
es/full/all/es2015
121872475
ns/iter (± 737998
)120811810
ns/iter (± 1226729
)1.01
es/full/all/es2016
121344645
ns/iter (± 1192114
)120303332
ns/iter (± 776693
)1.01
es/full/all/es2017
120150975
ns/iter (± 877927
)119584636
ns/iter (± 629054
)1.00
es/full/all/es2018
117796456
ns/iter (± 962178
)117450005
ns/iter (± 1285293
)1.00
es/full/all/es2019
117568178
ns/iter (± 879761
)116955547
ns/iter (± 992982
)1.01
es/full/all/es2020
113120498
ns/iter (± 1165115
)112137960
ns/iter (± 733892
)1.01
es/full/parser
495921
ns/iter (± 5888
)492966
ns/iter (± 2035
)1.01
es/full/base/fixer
20437
ns/iter (± 287
)18827
ns/iter (± 121
)1.09
es/full/base/resolver_and_hygiene
81748
ns/iter (± 187
)79267
ns/iter (± 122
)1.03
serialization of serde
292
ns/iter (± 0
)298
ns/iter (± 0
)0.98
css/minify/libraries/bootstrap
29198706
ns/iter (± 320371
)28740005
ns/iter (± 147258
)1.02
css/visitor/compare/clone
1650767
ns/iter (± 7474
)1625372
ns/iter (± 4799
)1.02
css/visitor/compare/visit_mut_span
1778853
ns/iter (± 25827
)1767248
ns/iter (± 5116
)1.01
css/visitor/compare/visit_mut_span_panic
1839667
ns/iter (± 6221
)1840393
ns/iter (± 5437
)1.00
css/visitor/compare/fold_span
2577119
ns/iter (± 9864
)2567335
ns/iter (± 8660
)1.00
css/visitor/compare/fold_span_panic
2756819
ns/iter (± 5613
)2759888
ns/iter (± 7587
)1.00
css/lexer/bootstrap_5_1_3
4536028
ns/iter (± 12104
)4739614
ns/iter (± 5411
)0.96
css/lexer/foundation_6_7_4
3821445
ns/iter (± 9154
)4003072
ns/iter (± 2757
)0.95
css/lexer/tailwind_3_1_1
727064
ns/iter (± 2204
)758103
ns/iter (± 364
)0.96
css/parser/bootstrap_5_1_3
19671719
ns/iter (± 83332
)20122062
ns/iter (± 65793
)0.98
css/parser/foundation_6_7_4
15971035
ns/iter (± 84846
)16307797
ns/iter (± 66607
)0.98
css/parser/tailwind_3_1_1
3051732
ns/iter (± 4189
)3095110
ns/iter (± 6547
)0.99
es/codegen/colors
735376
ns/iter (± 401796
)739064
ns/iter (± 404414
)1.00
es/codegen/large
2895004
ns/iter (± 1539681
)2908646
ns/iter (± 1544284
)1.00
es/codegen/with-parser/colors
45714
ns/iter (± 196
)46026
ns/iter (± 268
)0.99
es/codegen/with-parser/large
498816
ns/iter (± 2061
)486760
ns/iter (± 1005
)1.02
es/minify/libraries/antd
1264643417
ns/iter (± 16902280
)1232615667
ns/iter (± 18043789
)1.03
es/minify/libraries/d3
250490428
ns/iter (± 3142805
)251051130
ns/iter (± 3289775
)1.00
es/minify/libraries/echarts
975192760
ns/iter (± 14266798
)981963423
ns/iter (± 10311379
)0.99
es/minify/libraries/jquery
74265223
ns/iter (± 253313
)74353751
ns/iter (± 410082
)1.00
es/minify/libraries/lodash
88760099
ns/iter (± 937073
)87953562
ns/iter (± 482501
)1.01
es/minify/libraries/moment
43984194
ns/iter (± 255345
)43894674
ns/iter (± 371826
)1.00
es/minify/libraries/react
16266274
ns/iter (± 95282
)16136784
ns/iter (± 63938
)1.01
es/minify/libraries/terser
193229619
ns/iter (± 3665810
)191599196
ns/iter (± 1257174
)1.01
es/minify/libraries/three
341510027
ns/iter (± 4055733
)347421795
ns/iter (± 4275590
)0.98
es/minify/libraries/typescript
2398415308
ns/iter (± 32814533
)2371200388
ns/iter (± 13370068
)1.01
es/minify/libraries/victory
532936504
ns/iter (± 17963060
)553106533
ns/iter (± 10445384
)0.96
es/minify/libraries/vue
108720328
ns/iter (± 1376453
)107824115
ns/iter (± 495724
)1.01
es/visitor/compare/clone
1986174
ns/iter (± 14529
)1972811
ns/iter (± 5874
)1.01
es/visitor/compare/visit_mut_span
2287172
ns/iter (± 6834
)2269732
ns/iter (± 4139
)1.01
es/visitor/compare/visit_mut_span_panic
2346820
ns/iter (± 8016
)2335052
ns/iter (± 5610
)1.01
es/visitor/compare/fold_span
3407033
ns/iter (± 9811
)3381241
ns/iter (± 9053
)1.01
es/visitor/compare/fold_span_panic
3488177
ns/iter (± 11927
)3493071
ns/iter (± 26708
)1.00
es/lexer/colors
13464
ns/iter (± 9
)13191
ns/iter (± 7
)1.02
es/lexer/angular
6187749
ns/iter (± 17697
)6190702
ns/iter (± 10914
)1.00
es/lexer/backbone
807953
ns/iter (± 1019
)798967
ns/iter (± 490
)1.01
es/lexer/jquery
4535882
ns/iter (± 6972
)4552658
ns/iter (± 5039
)1.00
es/lexer/jquery mobile
6975531
ns/iter (± 4962
)6926308
ns/iter (± 15745
)1.01
es/lexer/mootools
3615533
ns/iter (± 1692
)3643830
ns/iter (± 2179
)0.99
es/lexer/underscore
678868
ns/iter (± 501
)671500
ns/iter (± 737
)1.01
es/lexer/three
21692944
ns/iter (± 16878
)21648251
ns/iter (± 37165
)1.00
es/lexer/yui
3879550
ns/iter (± 1300
)3855283
ns/iter (± 1639
)1.01
es/parser/colors
26960
ns/iter (± 49
)26971
ns/iter (± 335
)1.00
es/parser/angular
13637983
ns/iter (± 99145
)13530814
ns/iter (± 116957
)1.01
es/parser/backbone
2002899
ns/iter (± 9680
)1999112
ns/iter (± 8170
)1.00
es/parser/jquery
11014451
ns/iter (± 80191
)10988565
ns/iter (± 118622
)1.00
es/parser/jquery mobile
16911159
ns/iter (± 184167
)16836081
ns/iter (± 137904
)1.00
es/parser/mootools
8433070
ns/iter (± 15215
)8405121
ns/iter (± 115296
)1.00
es/parser/underscore
1728877
ns/iter (± 8928
)1723843
ns/iter (± 9267
)1.00
es/parser/three
49380201
ns/iter (± 445900
)48989760
ns/iter (± 185514
)1.01
es/parser/yui
8365280
ns/iter (± 57138
)8337543
ns/iter (± 35080
)1.00
es/preset-env/usage/builtin_type
135384
ns/iter (± 31917
)135988
ns/iter (± 32019
)1.00
es/preset-env/usage/property
16919
ns/iter (± 47
)17612
ns/iter (± 45
)0.96
es/resolver/typescript
92078170
ns/iter (± 820174
)92669509
ns/iter (± 1044287
)0.99
es/fixer/typescript
67860675
ns/iter (± 458961
)67931120
ns/iter (± 580792
)1.00
es/hygiene/typescript
139170069
ns/iter (± 1391180
)136437261
ns/iter (± 1578472
)1.02
es/resolver_with_hygiene/typescript
252690247
ns/iter (± 3092534
)258642255
ns/iter (± 2793839
)0.98
es/visitor/base-perf/module_clone
59539
ns/iter (± 218
)59283
ns/iter (± 159
)1.00
es/visitor/base-perf/fold_empty
63235
ns/iter (± 140
)62734
ns/iter (± 214
)1.01
es/visitor/base-perf/fold_noop_impl_all
63104
ns/iter (± 408
)62892
ns/iter (± 246
)1.00
es/visitor/base-perf/fold_noop_impl_vec
63503
ns/iter (± 215
)63489
ns/iter (± 285
)1.00
es/visitor/base-perf/boxing_boxed_clone
57
ns/iter (± 0
)58
ns/iter (± 0
)0.98
es/visitor/base-perf/boxing_unboxed_clone
40
ns/iter (± 0
)39
ns/iter (± 0
)1.03
es/visitor/base-perf/boxing_boxed
111
ns/iter (± 0
)111
ns/iter (± 0
)1
es/visitor/base-perf/boxing_unboxed
75
ns/iter (± 0
)77
ns/iter (± 0
)0.97
es/visitor/base-perf/visit_empty
0
ns/iter (± 0
)0
ns/iter (± 0
)NaN
es/visitor/base-perf/visit_contains_this
2620
ns/iter (± 11
)2623
ns/iter (± 12
)1.00
es/base/parallel/resolver/typescript
4457074707
ns/iter (± 278566843
)3756472490
ns/iter (± 253991238
)1.19
es/base/parallel/hygiene/typescript
1509050251
ns/iter (± 20435881
)1501538904
ns/iter (± 20778417
)1.01
misc/visitors/time-complexity/time 5
120
ns/iter (± 1
)135
ns/iter (± 1
)0.89
misc/visitors/time-complexity/time 10
393
ns/iter (± 7
)396
ns/iter (± 14
)0.99
misc/visitors/time-complexity/time 15
678
ns/iter (± 6
)720
ns/iter (± 1
)0.94
misc/visitors/time-complexity/time 20
1047
ns/iter (± 3
)1065
ns/iter (± 9
)0.98
misc/visitors/time-complexity/time 40
4129
ns/iter (± 295
)4108
ns/iter (± 5
)1.01
misc/visitors/time-complexity/time 60
8781
ns/iter (± 3
)8765
ns/iter (± 15
)1.00
es/full-target/es2016
228086
ns/iter (± 505
)227316
ns/iter (± 437
)1.00
es/full-target/es2017
217976
ns/iter (± 591
)218741
ns/iter (± 630
)1.00
es/full-target/es2018
206450
ns/iter (± 1008
)207324
ns/iter (± 1049
)1.00
es2020_nullish_coalescing
71108
ns/iter (± 402
)70532
ns/iter (± 440
)1.01
es2020_optional_chaining
82086
ns/iter (± 257
)82639
ns/iter (± 261
)0.99
es2022_class_properties
114480
ns/iter (± 411
)114889
ns/iter (± 606
)1.00
es2018_object_rest_spread
75172
ns/iter (± 354
)75185
ns/iter (± 195
)1.00
es2019_optional_catch_binding
65533
ns/iter (± 183
)64767
ns/iter (± 149
)1.01
es2017_async_to_generator
65654
ns/iter (± 182
)65105
ns/iter (± 306
)1.01
es2016_exponentiation
67168
ns/iter (± 409
)66166
ns/iter (± 157
)1.02
es2015_arrow
72333
ns/iter (± 277
)71836
ns/iter (± 221
)1.01
es2015_block_scoped_fn
68875
ns/iter (± 223
)68618
ns/iter (± 232
)1.00
es2015_block_scoping
120401
ns/iter (± 449
)119942
ns/iter (± 496
)1.00
This comment was automatically generated by workflow using github-action-benchmark.