Skip to content

Commit

Permalink
chore(es): Enable tracing spans for release builds (#7379)
Browse files Browse the repository at this point in the history
  • Loading branch information
kdy1 committed May 11, 2023
1 parent 65785bd commit 166e77c
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 32 deletions.
18 changes: 9 additions & 9 deletions crates/swc_ecma_codegen/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_lit(&mut self, node: &Lit) -> Result {
self.emit_leading_comments_of_span(node.span(), false)?;

Expand Down Expand Up @@ -529,7 +529,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_str_lit(&mut self, node: &Str) -> Result {
self.wr.commit_pending_semi()?;

Expand Down Expand Up @@ -577,7 +577,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_num_lit(&mut self, num: &Number) -> Result {
self.emit_num_lit_internal(num, false)?;
}
Expand Down Expand Up @@ -757,7 +757,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_expr(&mut self, node: &Expr) -> Result {
match node {
Expr::Array(ref n) => emit!(n),
Expand Down Expand Up @@ -1265,7 +1265,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_class_member(&mut self, node: &ClassMember) -> Result {
match *node {
ClassMember::Constructor(ref n) => emit!(n),
Expand Down Expand Up @@ -1570,7 +1570,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_class_constructor(&mut self, n: &Constructor) -> Result {
self.emit_leading_comments_of_span(n.span(), false)?;

Expand Down Expand Up @@ -2731,7 +2731,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_expr_stmt(&mut self, e: &ExprStmt) -> Result {
let expr_span = e.expr.span();

Expand All @@ -2741,7 +2741,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_block_stmt(&mut self, node: &BlockStmt) -> Result {
self.emit_leading_comments_of_span(node.span(), false)?;

Expand Down Expand Up @@ -3138,7 +3138,7 @@ where
}

#[emitter]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn emit_try_stmt(&mut self, n: &TryStmt) -> Result {
self.emit_leading_comments_of_span(n.span(), false)?;

Expand Down
35 changes: 16 additions & 19 deletions crates/swc_ecma_codegen/src/text_writer/basic_impl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ impl<'a, W: Write> JsWriter<'a, W> {
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write(&mut self, span: Option<Span>, data: &str) -> Result {
if !data.is_empty() {
if self.line_start {
Expand Down Expand Up @@ -137,63 +137,60 @@ impl<'a, W: Write> JsWriter<'a, W> {

impl<'a, W: Write> WriteJs for JsWriter<'a, W> {
#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
fn increase_indent(&mut self) -> Result {
self.indent += 1;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
fn decrease_indent(&mut self) -> Result {
self.indent -= 1;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
fn write_semi(&mut self, span: Option<Span>) -> Result {
self.write(span, ";")?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_space(&mut self) -> Result {
self.write(None, " ")?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_keyword(&mut self, span: Option<Span>, s: &'static str) -> Result {
self.write(span, s)?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_operator(&mut self, span: Option<Span>, s: &str) -> Result {
self.write(span, s)?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_param(&mut self, s: &str) -> Result {
self.write(None, s)?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_property(&mut self, s: &str) -> Result {
self.write(None, s)?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_line(&mut self) -> Result {
let pending = self.pending_srcmap.take();
if !self.line_start {
Expand All @@ -213,7 +210,7 @@ impl<'a, W: Write> WriteJs for JsWriter<'a, W> {
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_lit(&mut self, span: Span, s: &str) -> Result {
if !s.is_empty() {
self.srcmap(span.lo());
Expand All @@ -225,14 +222,14 @@ impl<'a, W: Write> WriteJs for JsWriter<'a, W> {
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_comment(&mut self, s: &str) -> Result {
self.write(None, s)?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_str_lit(&mut self, span: Span, s: &str) -> Result {
if !s.is_empty() {
self.srcmap(span.lo());
Expand All @@ -244,34 +241,34 @@ impl<'a, W: Write> WriteJs for JsWriter<'a, W> {
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_str(&mut self, s: &str) -> Result {
self.write(None, s)?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_symbol(&mut self, span: Span, s: &str) -> Result {
self.write(Some(span), s)?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn write_punct(&mut self, span: Option<Span>, s: &'static str) -> Result {
self.write(span, s)?;
Ok(())
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn care_about_srcmap(&self) -> bool {
self.srcmap.is_some()
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn add_srcmap(&mut self, pos: BytePos) -> Result {
if self.srcmap.is_some() {
if self.line_start {
Expand All @@ -284,7 +281,7 @@ impl<'a, W: Write> WriteJs for JsWriter<'a, W> {
}

#[inline]
#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn commit_pending_semi(&mut self) -> Result {
Ok(())
}
Expand Down
8 changes: 4 additions & 4 deletions crates/swc_ecma_transforms_compat/src/es2015/generator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -965,7 +965,7 @@ impl VisitMut for Generator {
}
}

#[cfg_attr(debug_assertions, tracing::instrument(skip_all))]
#[tracing::instrument(skip_all)]
fn visit_mut_stmt(&mut self, node: &mut Stmt) {
match node {
Stmt::Break(b) => {
Expand Down Expand Up @@ -3041,7 +3041,7 @@ impl Generator {
});
}

#[cfg_attr(debug_assertions, tracing::instrument(skip(self)))]
#[tracing::instrument(skip(self))]
fn try_enter_label(&mut self, op_index: usize) {
if self.label_offsets.is_none() {
return;
Expand Down Expand Up @@ -3095,7 +3095,7 @@ impl Generator {
}

/// Tries to enter or leave a code block.
#[cfg_attr(debug_assertions, tracing::instrument(skip(self)))]
#[tracing::instrument(skip(self))]
fn try_enter_or_leave_block(&mut self, op_index: usize) {
if let Some(blocks) = &self.blocks {
while self.block_index < self.block_actions.as_ref().unwrap().len()
Expand Down Expand Up @@ -3162,7 +3162,7 @@ impl Generator {

/// Writes an operation as a statement to the current label's statement
/// list.
#[cfg_attr(debug_assertions, tracing::instrument(skip(self)))]
#[tracing::instrument(skip(self))]
fn write_operation(&mut self, op_index: usize) {
if cfg!(debug_assertions) {
debug!("Writing operation {}", op_index);
Expand Down

1 comment on commit 166e77c

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: 166e77c Previous: 041b491 Ratio
es/full/bugs-1 303305 ns/iter (± 6908) 302835 ns/iter (± 8794) 1.00
es/full/minify/libraries/antd 1586682378 ns/iter (± 55947733) 1572109651 ns/iter (± 31627759) 1.01
es/full/minify/libraries/d3 286347207 ns/iter (± 9005415) 305477338 ns/iter (± 7564015) 0.94
es/full/minify/libraries/echarts 1186847859 ns/iter (± 18483369) 1225904712 ns/iter (± 17159239) 0.97
es/full/minify/libraries/jquery 89556271 ns/iter (± 1174004) 92435739 ns/iter (± 2181346) 0.97
es/full/minify/libraries/lodash 104091589 ns/iter (± 1715105) 105698661 ns/iter (± 1858734) 0.98
es/full/minify/libraries/moment 51863425 ns/iter (± 536014) 52672395 ns/iter (± 644130) 0.98
es/full/minify/libraries/react 19036973 ns/iter (± 118470) 19332114 ns/iter (± 323962) 0.98
es/full/minify/libraries/terser 238121440 ns/iter (± 2877586) 244145243 ns/iter (± 3988419) 0.98
es/full/minify/libraries/three 421317471 ns/iter (± 10367885) 433320595 ns/iter (± 4143896) 0.97
es/full/minify/libraries/typescript 3005773480 ns/iter (± 79249719) 2955810708 ns/iter (± 35478066) 1.02
es/full/minify/libraries/victory 620321532 ns/iter (± 10670271) 646752869 ns/iter (± 17120601) 0.96
es/full/minify/libraries/vue 126954422 ns/iter (± 1403118) 131945403 ns/iter (± 1237747) 0.96
es/full/codegen/es3 33539 ns/iter (± 139) 28560 ns/iter (± 51) 1.17
es/full/codegen/es5 33940 ns/iter (± 76) 28615 ns/iter (± 71) 1.19
es/full/codegen/es2015 33816 ns/iter (± 310) 28589 ns/iter (± 60) 1.18
es/full/codegen/es2016 33629 ns/iter (± 146) 28604 ns/iter (± 62) 1.18
es/full/codegen/es2017 33589 ns/iter (± 328) 28586 ns/iter (± 67) 1.18
es/full/codegen/es2018 33317 ns/iter (± 346) 28649 ns/iter (± 71) 1.16
es/full/codegen/es2019 33579 ns/iter (± 217) 28579 ns/iter (± 56) 1.17
es/full/codegen/es2020 33126 ns/iter (± 183) 28613 ns/iter (± 62) 1.16
es/full/all/es3 179931877 ns/iter (± 3037303) 180942404 ns/iter (± 2387769) 0.99
es/full/all/es5 171667196 ns/iter (± 2444735) 174465534 ns/iter (± 4673984) 0.98
es/full/all/es2015 136733674 ns/iter (± 1657707) 136289357 ns/iter (± 1912598) 1.00
es/full/all/es2016 132730568 ns/iter (± 1297677) 134886079 ns/iter (± 1819431) 0.98
es/full/all/es2017 131401718 ns/iter (± 2435220) 132431675 ns/iter (± 2300073) 0.99
es/full/all/es2018 127602154 ns/iter (± 1541245) 128961602 ns/iter (± 2572526) 0.99
es/full/all/es2019 125265551 ns/iter (± 1738782) 125432151 ns/iter (± 2015134) 1.00
es/full/all/es2020 118225992 ns/iter (± 780719) 119692706 ns/iter (± 2406633) 0.99
es/full/parser 510282 ns/iter (± 6625) 519752 ns/iter (± 12555) 0.98
es/full/base/fixer 22485 ns/iter (± 178) 23099 ns/iter (± 34) 0.97
es/full/base/resolver_and_hygiene 84852 ns/iter (± 596) 88567 ns/iter (± 121) 0.96
serialization of serde 121 ns/iter (± 0) 121 ns/iter (± 0) 1
css/minify/libraries/bootstrap 27630054 ns/iter (± 375850) 27741899 ns/iter (± 103464) 1.00
css/visitor/compare/clone 2039909 ns/iter (± 13062) 2091965 ns/iter (± 13700) 0.98
css/visitor/compare/visit_mut_span 2275220 ns/iter (± 17716) 2304605 ns/iter (± 6519) 0.99
css/visitor/compare/visit_mut_span_panic 2349923 ns/iter (± 28490) 2340995 ns/iter (± 10488) 1.00
css/visitor/compare/fold_span 3047107 ns/iter (± 23168) 3059709 ns/iter (± 15409) 1.00
css/visitor/compare/fold_span_panic 3166441 ns/iter (± 33077) 3193337 ns/iter (± 19378) 0.99
css/lexer/bootstrap_5_1_3 5144047 ns/iter (± 51286) 5179154 ns/iter (± 10755) 0.99
css/lexer/foundation_6_7_4 4408607 ns/iter (± 10901) 4357885 ns/iter (± 3508) 1.01
css/lexer/tailwind_3_1_1 821845 ns/iter (± 8571) 829027 ns/iter (± 269) 0.99
css/parser/bootstrap_5_1_3 20398801 ns/iter (± 151028) 21400901 ns/iter (± 153286) 0.95
css/parser/foundation_6_7_4 16263339 ns/iter (± 134943) 16857087 ns/iter (± 34775) 0.96
css/parser/tailwind_3_1_1 3202092 ns/iter (± 6097) 3226925 ns/iter (± 2000) 0.99
es/codegen/colors 328268 ns/iter (± 185711) 692843 ns/iter (± 404247) 0.47
es/codegen/large 1212064 ns/iter (± 628256) 1147848 ns/iter (± 595453) 1.06
es/codegen/with-parser/colors 47646 ns/iter (± 311) 47894 ns/iter (± 489) 0.99
es/codegen/with-parser/large 514834 ns/iter (± 5103) 514132 ns/iter (± 920) 1.00
es/minify/libraries/antd 1497495824 ns/iter (± 24696091) 1334479184 ns/iter (± 11925117) 1.12
es/minify/libraries/d3 255329486 ns/iter (± 6804814) 251471233 ns/iter (± 3204958) 1.02
es/minify/libraries/echarts 1009252555 ns/iter (± 16854751) 1037445264 ns/iter (± 13694919) 0.97
es/minify/libraries/jquery 80701664 ns/iter (± 1251678) 78829767 ns/iter (± 648388) 1.02
es/minify/libraries/lodash 96106199 ns/iter (± 943886) 94452441 ns/iter (± 1030441) 1.02
es/minify/libraries/moment 48369417 ns/iter (± 2127885) 45780286 ns/iter (± 519924) 1.06
es/minify/libraries/react 17083324 ns/iter (± 84393) 17192378 ns/iter (± 360011) 0.99
es/minify/libraries/terser 203294071 ns/iter (± 1925213) 207994140 ns/iter (± 3429198) 0.98
es/minify/libraries/three 347679837 ns/iter (± 9976430) 361333625 ns/iter (± 5778926) 0.96
es/minify/libraries/typescript 2623143219 ns/iter (± 47067436) 2496210920 ns/iter (± 28561317) 1.05
es/minify/libraries/victory 588197364 ns/iter (± 15554864) 553815732 ns/iter (± 13484023) 1.06
es/minify/libraries/vue 115913276 ns/iter (± 1130704) 117163620 ns/iter (± 3047257) 0.99
es/visitor/compare/clone 2339140 ns/iter (± 11605) 2321316 ns/iter (± 7785) 1.01
es/visitor/compare/visit_mut_span 2716747 ns/iter (± 6385) 2696568 ns/iter (± 3402) 1.01
es/visitor/compare/visit_mut_span_panic 2722080 ns/iter (± 23048) 2735859 ns/iter (± 6440) 0.99
es/visitor/compare/fold_span 3742015 ns/iter (± 32148) 3815808 ns/iter (± 9346) 0.98
es/visitor/compare/fold_span_panic 3915362 ns/iter (± 20566) 3930619 ns/iter (± 8173) 1.00
es/lexer/colors 13067 ns/iter (± 40) 13211 ns/iter (± 32) 0.99
es/lexer/angular 6347266 ns/iter (± 6620) 6444925 ns/iter (± 4513) 0.98
es/lexer/backbone 780525 ns/iter (± 752) 784417 ns/iter (± 486) 1.00
es/lexer/jquery 4392754 ns/iter (± 7436) 4425743 ns/iter (± 3032) 0.99
es/lexer/jquery mobile 6827687 ns/iter (± 24472) 6895241 ns/iter (± 3546) 0.99
es/lexer/mootools 3399234 ns/iter (± 29554) 3485374 ns/iter (± 1884) 0.98
es/lexer/underscore 638895 ns/iter (± 3297) 649116 ns/iter (± 310) 0.98
es/lexer/three 20587228 ns/iter (± 145833) 20961648 ns/iter (± 14803) 0.98
es/lexer/yui 3852552 ns/iter (± 1795) 3891675 ns/iter (± 1907) 0.99
es/parser/colors 28835 ns/iter (± 297) 28755 ns/iter (± 63) 1.00
es/parser/angular 14863636 ns/iter (± 201359) 15023610 ns/iter (± 138945) 0.99
es/parser/backbone 2136987 ns/iter (± 13131) 2143396 ns/iter (± 8442) 1.00
es/parser/jquery 11534935 ns/iter (± 65202) 11858760 ns/iter (± 102082) 0.97
es/parser/jquery mobile 18210594 ns/iter (± 428231) 18549932 ns/iter (± 343096) 0.98
es/parser/mootools 8851244 ns/iter (± 58533) 8857204 ns/iter (± 34489) 1.00
es/parser/underscore 1796995 ns/iter (± 6035) 1812321 ns/iter (± 10062) 0.99
es/parser/three 50992946 ns/iter (± 763544) 54370277 ns/iter (± 565527) 0.94
es/parser/yui 8905501 ns/iter (± 57482) 9030213 ns/iter (± 55028) 0.99
es/preset-env/usage/builtin_type 145297 ns/iter (± 35297) 142523 ns/iter (± 35679) 1.02
es/preset-env/usage/property 19948 ns/iter (± 339) 19915 ns/iter (± 110) 1.00
es/resolver/typescript 114539292 ns/iter (± 1509782) 112299673 ns/iter (± 2977961) 1.02
es/fixer/typescript 85776000 ns/iter (± 2641783) 80201734 ns/iter (± 401584) 1.07
es/hygiene/typescript 180704009 ns/iter (± 1517344) 169548555 ns/iter (± 1285047) 1.07
es/resolver_with_hygiene/typescript 307117897 ns/iter (± 2459675) 310864775 ns/iter (± 6342854) 0.99
es/visitor/base-perf/module_clone 80360 ns/iter (± 922) 80956 ns/iter (± 531) 0.99
es/visitor/base-perf/fold_empty 88525 ns/iter (± 953) 90810 ns/iter (± 500) 0.97
es/visitor/base-perf/fold_noop_impl_all 89566 ns/iter (± 603) 90725 ns/iter (± 1607) 0.99
es/visitor/base-perf/fold_noop_impl_vec 90589 ns/iter (± 406) 91291 ns/iter (± 497) 0.99
es/visitor/base-perf/boxing_boxed_clone 55 ns/iter (± 0) 56 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_unboxed_clone 42 ns/iter (± 0) 41 ns/iter (± 0) 1.02
es/visitor/base-perf/boxing_boxed 101 ns/iter (± 0) 101 ns/iter (± 0) 1
es/visitor/base-perf/boxing_unboxed 78 ns/iter (± 0) 78 ns/iter (± 0) 1
es/visitor/base-perf/visit_contains_this 3559 ns/iter (± 57) 3541 ns/iter (± 130) 1.01
es/base/parallel/resolver/typescript 6132004707 ns/iter (± 458834506) 5728711277 ns/iter (± 386493786) 1.07
es/base/parallel/hygiene/typescript 2176531139 ns/iter (± 62829229) 1991376402 ns/iter (± 21974497) 1.09
misc/visitors/time-complexity/time 5 100 ns/iter (± 0) 107 ns/iter (± 0) 0.93
misc/visitors/time-complexity/time 10 326 ns/iter (± 4) 351 ns/iter (± 5) 0.93
misc/visitors/time-complexity/time 15 641 ns/iter (± 2) 676 ns/iter (± 0) 0.95
misc/visitors/time-complexity/time 20 1189 ns/iter (± 4) 1240 ns/iter (± 5) 0.96
misc/visitors/time-complexity/time 40 6533 ns/iter (± 22) 6274 ns/iter (± 1) 1.04
misc/visitors/time-complexity/time 60 16600 ns/iter (± 232) 15777 ns/iter (± 128) 1.05
es/full-target/es2016 250779 ns/iter (± 2803) 254340 ns/iter (± 6732) 0.99
es/full-target/es2017 241550 ns/iter (± 902) 246355 ns/iter (± 344) 0.98
es/full-target/es2018 230826 ns/iter (± 2249) 235117 ns/iter (± 287) 0.98
es2020_nullish_coalescing 90463 ns/iter (± 656) 93596 ns/iter (± 320) 0.97
es2020_optional_chaining 119930 ns/iter (± 533) 125695 ns/iter (± 159) 0.95
es2022_class_properties 147122 ns/iter (± 2549) 149395 ns/iter (± 212) 0.98
es2018_object_rest_spread 93518 ns/iter (± 1316) 96850 ns/iter (± 257) 0.97
es2019_optional_catch_binding 83007 ns/iter (± 493) 86031 ns/iter (± 222) 0.96
es2017_async_to_generator 82987 ns/iter (± 851) 86494 ns/iter (± 195) 0.96
es2016_exponentiation 87396 ns/iter (± 442) 90924 ns/iter (± 142) 0.96
es2015_arrow 92038 ns/iter (± 1044) 94182 ns/iter (± 877) 0.98
es2015_block_scoped_fn 88847 ns/iter (± 923) 92143 ns/iter (± 385) 0.96
es2015_block_scoping 164020 ns/iter (± 937) 170843 ns/iter (± 310) 0.96

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.