mirror of
https://github.com/oxc-project/oxc.git
synced 2026-11-04 10:29:58 +00:00
perf(semantic): pre-size class elements hash map (#22618)
This commit is contained in:
1 parent
04d3065c03
commit
0345a310f9
1 file changed
+3
-2
@@ -1,5 +1,5 @@
|
||||
use memchr::memchr_iter;
|
||||
use rustc_hash::FxHashMap;
|
||||
use rustc_hash::{FxBuildHasher, FxHashMap};
|
||||
|
||||
use oxc_allocator::GetAddress;
|
||||
use oxc_ast::{AstKind, ModuleDeclarationKind, ast::*};
|
||||
@@ -81,8 +81,9 @@ pub fn check_import_value_redeclarations(ctx: &SemanticBuilder<'_>) {
|
||||
pub fn check_duplicate_class_elements(ctx: &SemanticBuilder<'_>) {
|
||||
let classes = &ctx.class_table_builder.classes;
|
||||
classes.iter_enumerated().for_each(|(class_id, _)| {
|
||||
let mut defined_elements = FxHashMap::default();
|
||||
let elements = &classes.elements[class_id];
|
||||
let mut defined_elements =
|
||||
FxHashMap::with_capacity_and_hasher(elements.len(), FxBuildHasher);
|
||||
for (element_id, element) in elements.iter_enumerated() {
|
||||
if let Some(prev_element_id) = defined_elements.insert(&element.name, element_id) {
|
||||
let prev_element = &elements[prev_element_id];
|
||||
|
||||
Reference in new issue
Block a user