@@ -2155,41 +2155,234 @@ where
2155
2155
)
2156
2156
}
2157
2157
2158
- #[ allow( clippy:: cognitive_complexity) ]
2159
- fn emit_list5 < N : Node > (
2158
+ /// This method exists to reduce compile time.
2159
+ #[ inline( never) ]
2160
+ fn emit_first_of_list5 (
2160
2161
& mut self ,
2161
2162
parent_node : Span ,
2162
- children : Option < & [ N ] > ,
2163
+ children : Option < usize > ,
2163
2164
format : ListFormat ,
2164
2165
start : usize ,
2165
2166
count : usize ,
2166
- ) -> Result {
2167
+ ) -> Option < Result > {
2167
2168
if children. is_none ( ) && format. contains ( ListFormat :: OptionalIfUndefined ) {
2168
- return Ok ( ( ) ) ;
2169
+ return Some ( Ok ( ( ) ) ) ;
2169
2170
}
2170
2171
2171
- let is_empty = children. is_none ( ) || start > children. unwrap ( ) . len ( ) || count == 0 ;
2172
+ let is_empty = children. is_none ( ) || start > children. unwrap ( ) || count == 0 ;
2172
2173
if is_empty && format. contains ( ListFormat :: OptionalIfEmpty ) {
2173
- return Ok ( ( ) ) ;
2174
+ return Some ( Ok ( ( ) ) ) ;
2174
2175
}
2175
2176
2176
2177
if format. contains ( ListFormat :: BracketsMask ) {
2177
- self . wr . write_punct ( None , format. opening_bracket ( ) ) ?;
2178
+ if let Err ( err) = self . wr . write_punct ( None , format. opening_bracket ( ) ) {
2179
+ return Some ( Err ( err) ) ;
2180
+ }
2178
2181
2179
2182
if is_empty {
2180
- self . emit_trailing_comments_of_pos (
2183
+ if let Err ( err ) = self . emit_trailing_comments_of_pos (
2181
2184
{
2182
2185
// TODO: children.lo()
2183
2186
2184
2187
parent_node. lo ( )
2185
2188
} ,
2186
2189
true ,
2187
2190
false ,
2188
- ) ?;
2191
+ ) {
2192
+ return Some ( Err ( err) ) ;
2193
+ }
2194
+ }
2195
+ }
2196
+
2197
+ None
2198
+ }
2199
+
2200
+ /// This method exists to reduce compile time.
2201
+ #[ inline( never) ]
2202
+ fn emit_pre_child_for_list5 (
2203
+ & mut self ,
2204
+ parent_node : Span ,
2205
+ format : ListFormat ,
2206
+ previous_sibling : Option < Span > ,
2207
+ child : Span ,
2208
+ should_decrease_indent_after_emit : & mut bool ,
2209
+ should_emit_intervening_comments : & mut bool ,
2210
+ ) -> Result {
2211
+ // Write the delimiter if this is not the first node.
2212
+ if let Some ( previous_sibling) = previous_sibling {
2213
+ // i.e
2214
+ // function commentedParameters(
2215
+ // /* Parameter a */
2216
+ // a
2217
+ // /* End of parameter a */
2218
+ // -> this comment isn't considered to be trailing comment of parameter "a" due
2219
+ // to newline ,
2220
+ if format. contains ( ListFormat :: DelimitersMask )
2221
+ && previous_sibling. hi != parent_node. hi ( )
2222
+ && self . comments . is_some ( )
2223
+ {
2224
+ self . emit_leading_comments ( previous_sibling. hi ( ) , true ) ?;
2225
+ }
2226
+
2227
+ self . write_delim ( format) ?;
2228
+
2229
+ // Write either a line terminator or whitespace to separate the elements.
2230
+
2231
+ if self . cm . should_write_separating_line_terminator (
2232
+ Some ( previous_sibling) ,
2233
+ Some ( child) ,
2234
+ format,
2235
+ ) {
2236
+ // If a synthesized node in a single-line list starts on a new
2237
+ // line, we should increase the indent.
2238
+ if ( format & ( ListFormat :: LinesMask | ListFormat :: Indented ) )
2239
+ == ListFormat :: SingleLine
2240
+ && !self . cfg . minify
2241
+ {
2242
+ self . wr . increase_indent ( ) ?;
2243
+ * should_decrease_indent_after_emit = true ;
2244
+ }
2245
+
2246
+ if !self . cfg . minify {
2247
+ self . wr . write_line ( ) ?;
2248
+ }
2249
+ * should_emit_intervening_comments = false ;
2250
+ } else if format. contains ( ListFormat :: SpaceBetweenSiblings ) {
2251
+ formatting_space ! ( self ) ;
2252
+ }
2253
+ }
2254
+
2255
+ Ok ( ( ) )
2256
+ }
2257
+
2258
+ /// This method exists to reduce compile time.
2259
+ #[ inline( never) ]
2260
+ fn emit_list_finisher_of_list5 (
2261
+ & mut self ,
2262
+ parent_node : Span ,
2263
+ format : ListFormat ,
2264
+ previous_sibling : Option < Span > ,
2265
+ last_child : Option < Span > ,
2266
+ ) -> Result {
2267
+ // Write a trailing comma, if requested.
2268
+ let has_trailing_comma = format. contains ( ListFormat :: ForceTrailingComma )
2269
+ || format. contains ( ListFormat :: AllowTrailingComma ) && {
2270
+ if parent_node. is_dummy ( ) {
2271
+ false
2272
+ } else {
2273
+ match self . cm . span_to_snippet ( parent_node) {
2274
+ Ok ( snippet) => {
2275
+ if snippet. len ( ) < 3 {
2276
+ false
2277
+ } else {
2278
+ let last_char = snippet. chars ( ) . last ( ) . unwrap ( ) ;
2279
+ snippet[ ..snippet. len ( ) - last_char. len_utf8 ( ) ]
2280
+ . trim ( )
2281
+ . ends_with ( ',' )
2282
+ }
2283
+ }
2284
+ _ => false ,
2285
+ }
2286
+ }
2287
+ } ;
2288
+
2289
+ if has_trailing_comma
2290
+ && format. contains ( ListFormat :: CommaDelimited )
2291
+ && ( !self . cfg . minify || !format. contains ( ListFormat :: CanSkipTrailingComma ) )
2292
+ {
2293
+ punct ! ( self , "," ) ;
2294
+ formatting_space ! ( self ) ;
2295
+ }
2296
+
2297
+ {
2298
+ // Emit any trailing comment of the last element in the list
2299
+ // i.e
2300
+ // var array = [...
2301
+ // 2
2302
+ // /* end of element 2 */
2303
+ // ];
2304
+
2305
+ let emit_trailing_comments = {
2306
+ // TODO:
2307
+ //
2308
+ // !(getEmitFlags(previousSibling).contains(EmitFlags::NoTrailingComments))
2309
+
2310
+ true
2311
+ } ;
2312
+
2313
+ if let Some ( previous_sibling) = previous_sibling {
2314
+ if format. contains ( ListFormat :: DelimitersMask )
2315
+ && previous_sibling. hi ( ) != parent_node. hi ( )
2316
+ && emit_trailing_comments
2317
+ && self . comments . is_some ( )
2318
+ {
2319
+ self . emit_leading_comments ( previous_sibling. hi ( ) , true ) ?;
2320
+ }
2321
+ }
2322
+ }
2323
+
2324
+ // Decrease the indent, if requested.
2325
+ if format. contains ( ListFormat :: Indented ) && !self . cfg . minify {
2326
+ self . wr . decrease_indent ( ) ?;
2327
+ }
2328
+
2329
+ // Write the closing line terminator or closing whitespace.
2330
+ if self
2331
+ . cm
2332
+ . should_write_closing_line_terminator ( parent_node, last_child, format)
2333
+ {
2334
+ if !self . cfg . minify {
2335
+ self . wr . write_line ( ) ?;
2189
2336
}
2337
+ } else if format. contains ( ListFormat :: SpaceBetweenBraces ) && !self . cfg . minify {
2338
+ self . wr . write_space ( ) ?;
2190
2339
}
2191
2340
2192
- // self.handlers.onBeforeEmitNodeArray(children);
2341
+ Ok ( ( ) )
2342
+ }
2343
+
2344
+ /// This method exists to reduce compile time.
2345
+ #[ inline( never) ]
2346
+ fn emit_last_of_list5 (
2347
+ & mut self ,
2348
+ parent_node : Span ,
2349
+ is_empty : bool ,
2350
+ format : ListFormat ,
2351
+ start : usize ,
2352
+ count : usize ,
2353
+ ) -> Result {
2354
+ if format. contains ( ListFormat :: BracketsMask ) {
2355
+ if is_empty {
2356
+ self . emit_leading_comments (
2357
+ {
2358
+ //TODO: children.hi()
2359
+
2360
+ parent_node. hi ( )
2361
+ } ,
2362
+ true ,
2363
+ ) ?; // Emit leading comments within empty lists
2364
+ }
2365
+ self . wr . write_punct ( None , format. closing_bracket ( ) ) ?;
2366
+ }
2367
+
2368
+ Ok ( ( ) )
2369
+ }
2370
+
2371
+ fn emit_list5 < N : Node > (
2372
+ & mut self ,
2373
+ parent_node : Span ,
2374
+ children : Option < & [ N ] > ,
2375
+ format : ListFormat ,
2376
+ start : usize ,
2377
+ count : usize ,
2378
+ ) -> Result {
2379
+ if let Some ( result) =
2380
+ self . emit_first_of_list5 ( parent_node, children. map ( |v| v. len ( ) ) , format, start, count)
2381
+ {
2382
+ return result;
2383
+ }
2384
+
2385
+ let is_empty = children. is_none ( ) || start > children. unwrap ( ) . len ( ) || count == 0 ;
2193
2386
2194
2387
if is_empty {
2195
2388
// Write a line terminator if the parent node was multi-line
@@ -2211,10 +2404,11 @@ where
2211
2404
let may_emit_intervening_comments =
2212
2405
!format. intersects ( ListFormat :: NoInterveningComments ) ;
2213
2406
let mut should_emit_intervening_comments = may_emit_intervening_comments;
2214
- if self
2215
- . cm
2216
- . should_write_leading_line_terminator ( parent_node, children, format)
2217
- {
2407
+ if self . cm . should_write_leading_line_terminator (
2408
+ parent_node,
2409
+ children. first ( ) . map ( |v| v. span ( ) ) ,
2410
+ format,
2411
+ ) {
2218
2412
if !self . cfg . minify {
2219
2413
self . wr . write_line ( ) ?;
2220
2414
}
@@ -2234,49 +2428,14 @@ where
2234
2428
for i in 0 ..count {
2235
2429
let child = & children[ start + i] ;
2236
2430
2237
- // Write the delimiter if this is not the first node.
2238
- if let Some ( previous_sibling) = previous_sibling {
2239
- // i.e
2240
- // function commentedParameters(
2241
- // /* Parameter a */
2242
- // a
2243
- // /* End of parameter a */
2244
- // -> this comment isn't considered to be trailing comment of parameter "a" due
2245
- // to newline ,
2246
- if format. contains ( ListFormat :: DelimitersMask )
2247
- && previous_sibling. hi != parent_node. hi ( )
2248
- && self . comments . is_some ( )
2249
- {
2250
- self . emit_leading_comments ( previous_sibling. hi ( ) , true ) ?;
2251
- }
2252
-
2253
- self . write_delim ( format) ?;
2254
-
2255
- // Write either a line terminator or whitespace to separate the elements.
2256
-
2257
- if self . cm . should_write_separating_line_terminator (
2258
- Some ( previous_sibling) ,
2259
- Some ( child) ,
2260
- format,
2261
- ) {
2262
- // If a synthesized node in a single-line list starts on a new
2263
- // line, we should increase the indent.
2264
- if ( format & ( ListFormat :: LinesMask | ListFormat :: Indented ) )
2265
- == ListFormat :: SingleLine
2266
- && !self . cfg . minify
2267
- {
2268
- self . wr . increase_indent ( ) ?;
2269
- should_decrease_indent_after_emit = true ;
2270
- }
2271
-
2272
- if !self . cfg . minify {
2273
- self . wr . write_line ( ) ?;
2274
- }
2275
- should_emit_intervening_comments = false ;
2276
- } else if format. contains ( ListFormat :: SpaceBetweenSiblings ) {
2277
- formatting_space ! ( self ) ;
2278
- }
2279
- }
2431
+ self . emit_pre_child_for_list5 (
2432
+ parent_node,
2433
+ format,
2434
+ previous_sibling,
2435
+ child. span ( ) ,
2436
+ & mut should_decrease_indent_after_emit,
2437
+ & mut should_emit_intervening_comments,
2438
+ ) ?;
2280
2439
2281
2440
child. emit_with ( self ) ?;
2282
2441
@@ -2298,97 +2457,17 @@ where
2298
2457
previous_sibling = Some ( child. span ( ) ) ;
2299
2458
}
2300
2459
2301
- // Write a trailing comma, if requested.
2302
- let has_trailing_comma = format. contains ( ListFormat :: ForceTrailingComma )
2303
- || format. contains ( ListFormat :: AllowTrailingComma ) && {
2304
- if parent_node. is_dummy ( ) {
2305
- false
2306
- } else {
2307
- match self . cm . span_to_snippet ( parent_node) {
2308
- Ok ( snippet) => {
2309
- if snippet. len ( ) < 3 {
2310
- false
2311
- } else {
2312
- let last_char = snippet. chars ( ) . last ( ) . unwrap ( ) ;
2313
- snippet[ ..snippet. len ( ) - last_char. len_utf8 ( ) ]
2314
- . trim ( )
2315
- . ends_with ( ',' )
2316
- }
2317
- }
2318
- _ => false ,
2319
- }
2320
- }
2321
- } ;
2322
-
2323
- if has_trailing_comma
2324
- && format. contains ( ListFormat :: CommaDelimited )
2325
- && ( !self . cfg . minify || !format. contains ( ListFormat :: CanSkipTrailingComma ) )
2326
- {
2327
- punct ! ( self , "," ) ;
2328
- formatting_space ! ( self ) ;
2329
- }
2330
-
2331
- {
2332
- // Emit any trailing comment of the last element in the list
2333
- // i.e
2334
- // var array = [...
2335
- // 2
2336
- // /* end of element 2 */
2337
- // ];
2338
-
2339
- let emit_trailing_comments = {
2340
- // TODO:
2341
- //
2342
- // !(getEmitFlags(previousSibling).contains(EmitFlags::NoTrailingComments))
2343
-
2344
- true
2345
- } ;
2346
-
2347
- if let Some ( previous_sibling) = previous_sibling {
2348
- if format. contains ( ListFormat :: DelimitersMask )
2349
- && previous_sibling. hi ( ) != parent_node. hi ( )
2350
- && emit_trailing_comments
2351
- && self . comments . is_some ( )
2352
- {
2353
- self . emit_leading_comments ( previous_sibling. hi ( ) , true ) ?;
2354
- }
2355
- }
2356
- }
2357
-
2358
- // Decrease the indent, if requested.
2359
- if format. contains ( ListFormat :: Indented ) && !self . cfg . minify {
2360
- self . wr . decrease_indent ( ) ?;
2361
- }
2362
-
2363
- // Write the closing line terminator or closing whitespace.
2364
- if self
2365
- . cm
2366
- . should_write_closing_line_terminator ( parent_node, children, format)
2367
- {
2368
- if !self . cfg . minify {
2369
- self . wr . write_line ( ) ?;
2370
- }
2371
- } else if format. contains ( ListFormat :: SpaceBetweenBraces ) && !self . cfg . minify {
2372
- self . wr . write_space ( ) ?;
2373
- }
2460
+ self . emit_list_finisher_of_list5 (
2461
+ parent_node,
2462
+ format,
2463
+ previous_sibling,
2464
+ children. last ( ) . map ( |v| v. span ( ) ) ,
2465
+ ) ?;
2374
2466
}
2375
2467
2376
2468
// self.handlers.onAfterEmitNodeArray(children);
2377
2469
2378
- if format. contains ( ListFormat :: BracketsMask ) {
2379
- if is_empty {
2380
- self . emit_leading_comments (
2381
- {
2382
- //TODO: children.hi()
2383
-
2384
- parent_node. hi ( )
2385
- } ,
2386
- true ,
2387
- ) ?; // Emit leading comments within empty lists
2388
- }
2389
- self . wr . write_punct ( None , format. closing_bracket ( ) ) ?;
2390
- }
2391
-
2470
+ self . emit_last_of_list5 ( parent_node, is_empty, format, start, count) ?;
2392
2471
Ok ( ( ) )
2393
2472
}
2394
2473
}
1 commit comments
github-actions[bot] commentedon Mar 23, 2023
Benchmark
es/full/bugs-1
311059
ns/iter (± 10657
)302553
ns/iter (± 6906
)1.03
es/full/minify/libraries/antd
1593383832
ns/iter (± 29820083
)1496038502
ns/iter (± 14733616
)1.07
es/full/minify/libraries/d3
297478503
ns/iter (± 8473265
)287658853
ns/iter (± 5515602
)1.03
es/full/minify/libraries/echarts
1212751041
ns/iter (± 13895572
)1153195267
ns/iter (± 8054662
)1.05
es/full/minify/libraries/jquery
92847969
ns/iter (± 602430
)88496782
ns/iter (± 511299
)1.05
es/full/minify/libraries/lodash
106639319
ns/iter (± 994387
)103705814
ns/iter (± 463483
)1.03
es/full/minify/libraries/moment
52693383
ns/iter (± 413459
)51317499
ns/iter (± 374607
)1.03
es/full/minify/libraries/react
19215505
ns/iter (± 157440
)18932719
ns/iter (± 129531
)1.01
es/full/minify/libraries/terser
248183134
ns/iter (± 2356983
)235445232
ns/iter (± 1898349
)1.05
es/full/minify/libraries/three
444052559
ns/iter (± 4238177
)414552815
ns/iter (± 4500112
)1.07
es/full/minify/libraries/typescript
2958069271
ns/iter (± 21154051
)2884206273
ns/iter (± 15748565
)1.03
es/full/minify/libraries/victory
665354078
ns/iter (± 6431398
)618783127
ns/iter (± 6269033
)1.08
es/full/minify/libraries/vue
131607015
ns/iter (± 953845
)127677821
ns/iter (± 1040288
)1.03
es/full/codegen/es3
27967
ns/iter (± 61
)26466
ns/iter (± 92
)1.06
es/full/codegen/es5
28052
ns/iter (± 69
)26575
ns/iter (± 137
)1.06
es/full/codegen/es2015
28099
ns/iter (± 82
)26318
ns/iter (± 162
)1.07
es/full/codegen/es2016
28103
ns/iter (± 43
)26341
ns/iter (± 100
)1.07
es/full/codegen/es2017
28061
ns/iter (± 47
)26241
ns/iter (± 148
)1.07
es/full/codegen/es2018
28063
ns/iter (± 42
)26480
ns/iter (± 41
)1.06
es/full/codegen/es2019
28046
ns/iter (± 45
)26264
ns/iter (± 157
)1.07
es/full/codegen/es2020
28060
ns/iter (± 44
)26358
ns/iter (± 148
)1.06
es/full/all/es3
180038510
ns/iter (± 4505038
)182822547
ns/iter (± 2301363
)0.98
es/full/all/es5
171609554
ns/iter (± 3062935
)173816410
ns/iter (± 3250289
)0.99
es/full/all/es2015
139533236
ns/iter (± 1616476
)139207630
ns/iter (± 1346174
)1.00
es/full/all/es2016
138169390
ns/iter (± 974393
)135103225
ns/iter (± 1714089
)1.02
es/full/all/es2017
135219894
ns/iter (± 1589806
)134689698
ns/iter (± 1635066
)1.00
es/full/all/es2018
131917203
ns/iter (± 1780547
)130474510
ns/iter (± 1635985
)1.01
es/full/all/es2019
130463636
ns/iter (± 1602063
)127675167
ns/iter (± 1978064
)1.02
es/full/all/es2020
120640665
ns/iter (± 669376
)118277948
ns/iter (± 763620
)1.02
es/full/parser
536454
ns/iter (± 8855
)536005
ns/iter (± 9759
)1.00
es/full/base/fixer
22601
ns/iter (± 31
)22136
ns/iter (± 96
)1.02
es/full/base/resolver_and_hygiene
84935
ns/iter (± 111
)82070
ns/iter (± 291
)1.03
serialization of ast node
124
ns/iter (± 0
)123
ns/iter (± 0
)1.01
serialization of serde
126
ns/iter (± 0
)125
ns/iter (± 0
)1.01
css/minify/libraries/bootstrap
28775594
ns/iter (± 184296
)28050632
ns/iter (± 221073
)1.03
css/visitor/compare/clone
2060275
ns/iter (± 14250
)2050067
ns/iter (± 14342
)1.00
css/visitor/compare/visit_mut_span
2276333
ns/iter (± 6605
)2235437
ns/iter (± 10774
)1.02
css/visitor/compare/visit_mut_span_panic
2331719
ns/iter (± 6957
)2301130
ns/iter (± 9016
)1.01
css/visitor/compare/fold_span
3074920
ns/iter (± 21323
)2989990
ns/iter (± 33999
)1.03
css/visitor/compare/fold_span_panic
3174084
ns/iter (± 18593
)3137873
ns/iter (± 24057
)1.01
css/lexer/bootstrap_5_1_3
5115197
ns/iter (± 2927
)5066299
ns/iter (± 22238
)1.01
css/lexer/foundation_6_7_4
4311284
ns/iter (± 4220
)4247144
ns/iter (± 21966
)1.02
css/lexer/tailwind_3_1_1
819526
ns/iter (± 490
)805460
ns/iter (± 4421
)1.02
css/parser/bootstrap_5_1_3
22040821
ns/iter (± 62903
)21480061
ns/iter (± 159853
)1.03
css/parser/foundation_6_7_4
17485330
ns/iter (± 37185
)17276205
ns/iter (± 91112
)1.01
css/parser/tailwind_3_1_1
3363677
ns/iter (± 7519
)3296415
ns/iter (± 14473
)1.02
es/codegen/colors
329358
ns/iter (± 184474
)328616
ns/iter (± 184629
)1.00
es/codegen/large
1298240
ns/iter (± 662933
)1220512
ns/iter (± 617089
)1.06
es/codegen/with-parser/colors
48185
ns/iter (± 278
)47183
ns/iter (± 382
)1.02
es/codegen/with-parser/large
523956
ns/iter (± 1697
)517576
ns/iter (± 3822
)1.01
es/minify/libraries/antd
1380663544
ns/iter (± 13279702
)1275994030
ns/iter (± 13846345
)1.08
es/minify/libraries/d3
261335157
ns/iter (± 2316763
)243240651
ns/iter (± 3831246
)1.07
es/minify/libraries/echarts
1066236575
ns/iter (± 10282413
)999960383
ns/iter (± 7130262
)1.07
es/minify/libraries/jquery
80177803
ns/iter (± 767536
)76966809
ns/iter (± 628038
)1.04
es/minify/libraries/lodash
95302953
ns/iter (± 775028
)91760101
ns/iter (± 546556
)1.04
es/minify/libraries/moment
46243117
ns/iter (± 220847
)44643568
ns/iter (± 245833
)1.04
es/minify/libraries/react
17305860
ns/iter (± 97101
)16681053
ns/iter (± 102178
)1.04
es/minify/libraries/terser
213239505
ns/iter (± 667322
)198757848
ns/iter (± 1456450
)1.07
es/minify/libraries/three
374540641
ns/iter (± 4475872
)339029890
ns/iter (± 6061783
)1.10
es/minify/libraries/typescript
2517022411
ns/iter (± 9007226
)2414750383
ns/iter (± 10280795
)1.04
es/minify/libraries/victory
564324694
ns/iter (± 8920309
)516687207
ns/iter (± 7143420
)1.09
es/minify/libraries/vue
116795694
ns/iter (± 671453
)112742462
ns/iter (± 1181220
)1.04
es/visitor/compare/clone
2311388
ns/iter (± 12994
)2279655
ns/iter (± 23754
)1.01
es/visitor/compare/visit_mut_span
2665174
ns/iter (± 5962
)2620788
ns/iter (± 17211
)1.02
es/visitor/compare/visit_mut_span_panic
2713462
ns/iter (± 3371
)2679290
ns/iter (± 12436
)1.01
es/visitor/compare/fold_span
3783170
ns/iter (± 6913
)3703877
ns/iter (± 17106
)1.02
es/visitor/compare/fold_span_panic
3955367
ns/iter (± 13688
)3849014
ns/iter (± 23985
)1.03
es/lexer/colors
15307
ns/iter (± 16
)15326
ns/iter (± 148
)1.00
es/lexer/angular
7376956
ns/iter (± 9722
)7365220
ns/iter (± 33512
)1.00
es/lexer/backbone
983773
ns/iter (± 999
)984133
ns/iter (± 5733
)1.00
es/lexer/jquery
5520205
ns/iter (± 3885
)5568788
ns/iter (± 25015
)0.99
es/lexer/jquery mobile
8495848
ns/iter (± 4723
)8442706
ns/iter (± 51365
)1.01
es/lexer/mootools
4386833
ns/iter (± 2008
)4358139
ns/iter (± 27472
)1.01
es/lexer/underscore
831663
ns/iter (± 286
)826737
ns/iter (± 6856
)1.01
es/lexer/three
25903887
ns/iter (± 21277
)25710863
ns/iter (± 166284
)1.01
es/lexer/yui
4627237
ns/iter (± 2957
)4618783
ns/iter (± 19841
)1.00
es/parser/colors
29678
ns/iter (± 143
)28839
ns/iter (± 242
)1.03
es/parser/angular
15472430
ns/iter (± 199907
)14715860
ns/iter (± 114067
)1.05
es/parser/backbone
2243204
ns/iter (± 12563
)2202860
ns/iter (± 19087
)1.02
es/parser/jquery
12392889
ns/iter (± 113374
)12045920
ns/iter (± 199186
)1.03
es/parser/jquery mobile
19964806
ns/iter (± 263715
)18503571
ns/iter (± 138433
)1.08
es/parser/mootools
9559305
ns/iter (± 74261
)9158165
ns/iter (± 60051
)1.04
es/parser/underscore
1895085
ns/iter (± 10197
)1870994
ns/iter (± 16280
)1.01
es/parser/three
57368433
ns/iter (± 147532
)53378193
ns/iter (± 1251583
)1.07
es/parser/yui
9355906
ns/iter (± 59852
)9081689
ns/iter (± 76682
)1.03
es/preset-env/usage/builtin_type
144580
ns/iter (± 35141
)139114
ns/iter (± 32624
)1.04
es/preset-env/usage/property
21481
ns/iter (± 114
)21092
ns/iter (± 173
)1.02
es/resolver/typescript
112226099
ns/iter (± 2236895
)112897033
ns/iter (± 2003860
)0.99
es/fixer/typescript
78281481
ns/iter (± 1127875
)77471261
ns/iter (± 311942
)1.01
es/hygiene/typescript
167246993
ns/iter (± 857792
)161102812
ns/iter (± 1025981
)1.04
es/resolver_with_hygiene/typescript
305137511
ns/iter (± 2500813
)292645777
ns/iter (± 2149948
)1.04
es/visitor/base-perf/module_clone
78346
ns/iter (± 1320
)79036
ns/iter (± 945
)0.99
es/visitor/base-perf/fold_empty
90395
ns/iter (± 1543
)88308
ns/iter (± 1413
)1.02
es/visitor/base-perf/fold_noop_impl_all
91266
ns/iter (± 712
)87712
ns/iter (± 1366
)1.04
es/visitor/base-perf/fold_noop_impl_vec
91758
ns/iter (± 1624
)89394
ns/iter (± 1195
)1.03
es/visitor/base-perf/boxing_boxed_clone
56
ns/iter (± 0
)55
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_unboxed_clone
56
ns/iter (± 0
)53
ns/iter (± 0
)1.06
es/visitor/base-perf/boxing_boxed
103
ns/iter (± 0
)101
ns/iter (± 0
)1.02
es/visitor/base-perf/boxing_unboxed
100
ns/iter (± 0
)97
ns/iter (± 0
)1.03
es/visitor/base-perf/visit_contains_this
3609
ns/iter (± 55
)3533
ns/iter (± 75
)1.02
es/base/parallel/resolver/typescript
7051393604
ns/iter (± 441270566
)6373453601
ns/iter (± 253793935
)1.11
es/base/parallel/hygiene/typescript
1974286980
ns/iter (± 38742936
)1993644185
ns/iter (± 23329817
)0.99
misc/visitors/time-complexity/time 5
100
ns/iter (± 0
)100
ns/iter (± 0
)1
misc/visitors/time-complexity/time 10
335
ns/iter (± 1
)332
ns/iter (± 0
)1.01
misc/visitors/time-complexity/time 15
695
ns/iter (± 0
)695
ns/iter (± 9
)1
misc/visitors/time-complexity/time 20
1327
ns/iter (± 10
)1307
ns/iter (± 10
)1.02
misc/visitors/time-complexity/time 40
6659
ns/iter (± 18
)6920
ns/iter (± 58
)0.96
misc/visitors/time-complexity/time 60
14925
ns/iter (± 33
)17523
ns/iter (± 91
)0.85
es/full-target/es2016
250671
ns/iter (± 382
)249994
ns/iter (± 386
)1.00
es/full-target/es2017
243029
ns/iter (± 274
)242143
ns/iter (± 650
)1.00
es/full-target/es2018
231974
ns/iter (± 273
)230179
ns/iter (± 1065
)1.01
es2020_nullish_coalescing
91250
ns/iter (± 233
)89791
ns/iter (± 527
)1.02
es2020_optional_chaining
123741
ns/iter (± 541
)121851
ns/iter (± 895
)1.02
es2022_class_properties
146806
ns/iter (± 149
)144510
ns/iter (± 1610
)1.02
es2018_object_rest_spread
94740
ns/iter (± 227
)94009
ns/iter (± 244
)1.01
es2019_optional_catch_binding
84206
ns/iter (± 154
)83666
ns/iter (± 216
)1.01
es2017_async_to_generator
84589
ns/iter (± 246
)83943
ns/iter (± 251
)1.01
es2016_exponentiation
88882
ns/iter (± 181
)87432
ns/iter (± 486
)1.02
es2015_arrow
92859
ns/iter (± 203
)91813
ns/iter (± 469
)1.01
es2015_block_scoped_fn
90825
ns/iter (± 252
)89049
ns/iter (± 473
)1.02
es2015_block_scoping
168841
ns/iter (± 342
)165438
ns/iter (± 696
)1.02
This comment was automatically generated by workflow using github-action-benchmark.