Skip to content

Commit

Permalink
perf(html/parser): Improve performance a bit (#6213)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Oct 20, 2022
1 parent 6aaf6a7 commit ba5d272
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 12 deletions.
6 changes: 1 addition & 5 deletions crates/swc_html_parser/src/lexer/mod.rs
Expand Up @@ -4146,11 +4146,7 @@ where
&& !is_last_semicolon
&& is_next_equals_sign_or_ascii_alphanumeric
{
let old_temporary_buffer = self.temporary_buffer.clone();

self.flush_code_points_consumed_as_character_reference(Some(
old_temporary_buffer,
));
self.flush_code_points_consumed_as_character_reference(None);
self.state = self.return_state.clone();
}
// Otherwise:
Expand Down
Expand Up @@ -54,22 +54,18 @@ impl ActiveFormattingElementStack {
continue;
}

(node.clone(), token_and_info.clone())
(node.clone(), token_and_info)
}
};

let attributes_in_element = match &token_and_info_in_element.token {
Token::StartTag { attributes, .. } | Token::EndTag { attributes, .. } => {
attributes.clone()
}
Token::StartTag { attributes, .. } | Token::EndTag { attributes, .. } => attributes,
_ => {
unreachable!()
}
};
let attributes_in_new_element = match &new_element.1.token {
Token::StartTag { attributes, .. } | Token::EndTag { attributes, .. } => {
attributes.clone()
}
Token::StartTag { attributes, .. } | Token::EndTag { attributes, .. } => attributes,
_ => {
unreachable!()
}
Expand Down

1 comment on commit ba5d272

@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: ba5d272 Previous: 12443db Ratio
es/full/bugs-1 342019 ns/iter (± 151871) 355384 ns/iter (± 25402) 0.96
es/full/minify/libraries/antd 1807406436 ns/iter (± 34847259) 1893440426 ns/iter (± 36346312) 0.95
es/full/minify/libraries/d3 456884850 ns/iter (± 23743350) 424251777 ns/iter (± 13081447) 1.08
es/full/minify/libraries/echarts 1692449979 ns/iter (± 59458825) 1631846441 ns/iter (± 87168922) 1.04
es/full/minify/libraries/jquery 107594006 ns/iter (± 5983772) 107126511 ns/iter (± 5265593) 1.00
es/full/minify/libraries/lodash 149364661 ns/iter (± 58355404) 123148536 ns/iter (± 5657883) 1.21
es/full/minify/libraries/moment 67800793 ns/iter (± 3895890) 62661002 ns/iter (± 1737627) 1.08
es/full/minify/libraries/react 22283238 ns/iter (± 1452895) 20524444 ns/iter (± 464131) 1.09
es/full/minify/libraries/terser 374569879 ns/iter (± 27228888) 311144744 ns/iter (± 8781594) 1.20
es/full/minify/libraries/three 588540350 ns/iter (± 19794071) 553039943 ns/iter (± 14378683) 1.06
es/full/minify/libraries/typescript 3669124134 ns/iter (± 142810842) 3569411436 ns/iter (± 142012726) 1.03
es/full/minify/libraries/victory 880724365 ns/iter (± 43190149) 888749870 ns/iter (± 33952003) 0.99
es/full/minify/libraries/vue 219084543 ns/iter (± 27156893) 176328632 ns/iter (± 15096903) 1.24
es/full/codegen/es3 41994 ns/iter (± 9234) 34044 ns/iter (± 1628) 1.23
es/full/codegen/es5 39247 ns/iter (± 7007) 34620 ns/iter (± 1866) 1.13
es/full/codegen/es2015 38428 ns/iter (± 8021) 33693 ns/iter (± 707) 1.14
es/full/codegen/es2016 36191 ns/iter (± 5883) 34182 ns/iter (± 1248) 1.06
es/full/codegen/es2017 35237 ns/iter (± 6599) 33745 ns/iter (± 1438) 1.04
es/full/codegen/es2018 37290 ns/iter (± 6910) 33755 ns/iter (± 1334) 1.10
es/full/codegen/es2019 39846 ns/iter (± 7687) 33908 ns/iter (± 1368) 1.18
es/full/codegen/es2020 35363 ns/iter (± 6915) 33914 ns/iter (± 1640) 1.04
es/full/all/es3 253014717 ns/iter (± 30814215) 196617376 ns/iter (± 9613968) 1.29
es/full/all/es5 241473716 ns/iter (± 21648720) 200703823 ns/iter (± 20020507) 1.20
es/full/all/es2015 195235157 ns/iter (± 22187668) 152431941 ns/iter (± 9692612) 1.28
es/full/all/es2016 192246322 ns/iter (± 26840842) 151984236 ns/iter (± 8255381) 1.26
es/full/all/es2017 167516691 ns/iter (± 16704808) 150998140 ns/iter (± 60644625) 1.11
es/full/all/es2018 165054735 ns/iter (± 21579972) 146400812 ns/iter (± 10823080) 1.13
es/full/all/es2019 160245488 ns/iter (± 9273239) 149141397 ns/iter (± 12865756) 1.07
es/full/all/es2020 184429445 ns/iter (± 25090698) 140575279 ns/iter (± 9102937) 1.31
es/full/parser 906299 ns/iter (± 383157) 742267 ns/iter (± 74160) 1.22
es/full/base/fixer 27252 ns/iter (± 3395) 26628 ns/iter (± 1092) 1.02
es/full/base/resolver_and_hygiene 101271 ns/iter (± 14105) 93869 ns/iter (± 5654) 1.08
serialization of ast node 261 ns/iter (± 38) 219 ns/iter (± 6) 1.19
serialization of serde 240 ns/iter (± 24) 222 ns/iter (± 3) 1.08

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

Please sign in to comment.