From e978567659dd2c20c114cb179c1e905c9a2dc9d1 Mon Sep 17 00:00:00 2001 From: DonIsaac <22823424+DonIsaac@users.noreply.github.com> Date: Mon, 16 Sep 2024 04:22:08 +0000 Subject: [PATCH] perf(linter): shrink size of `DisableDirectives` (#5798) Use boxed slices instead of vecs, shrinking `DisableDirectives` from 136 to 120 bytes. --- crates/oxc_linter/src/disable_directives.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/oxc_linter/src/disable_directives.rs b/crates/oxc_linter/src/disable_directives.rs index b5a71f486948b..6faa9534782c7 100644 --- a/crates/oxc_linter/src/disable_directives.rs +++ b/crates/oxc_linter/src/disable_directives.rs @@ -22,9 +22,9 @@ pub struct DisableDirectives<'a> { /// All the disabled rules with their corresponding covering spans intervals: Lapper>, /// Spans of comments that disable all rules - disable_all_comments: Vec, + disable_all_comments: Box<[Span]>, /// All comments that disable one or more specific rules - disable_rule_comments: Vec>, + disable_rule_comments: Box<[DisableRuleComment<'a>]>, } impl<'a> DisableDirectives<'a> { @@ -38,11 +38,11 @@ impl<'a> DisableDirectives<'a> { }) } - pub fn disable_all_comments(&self) -> &Vec { + pub fn disable_all_comments(&self) -> &[Span] { &self.disable_all_comments } - pub fn disable_rule_comments(&self) -> &Vec> { + pub fn disable_rule_comments(&self) -> &[DisableRuleComment<'a>] { &self.disable_rule_comments } } @@ -79,8 +79,8 @@ impl<'a> DisableDirectivesBuilder<'a> { self.build_impl(); DisableDirectives { intervals: self.intervals, - disable_all_comments: self.disable_all_comments, - disable_rule_comments: self.disable_rule_comments, + disable_all_comments: self.disable_all_comments.into_boxed_slice(), + disable_rule_comments: self.disable_rule_comments.into_boxed_slice(), } }