perf(generate): reserve more Vec capacities

(cherry picked from commit 0f79c61188)
This commit is contained in:
Will Lillis 2025-07-13 18:47:23 -04:00 committed by Christian Clason
parent ad95b2b906
commit 58edb3a11c

View file

@ -312,6 +312,12 @@ impl<'a> ParseTableBuilder<'a> {
}
}
let non_terminal_sets_len = non_terminal_extra_item_sets_by_first_terminal.len();
self.non_terminal_extra_states
.reserve(non_terminal_sets_len);
self.parse_state_info_by_id.reserve(non_terminal_sets_len);
self.parse_table.states.reserve(non_terminal_sets_len);
self.parse_state_queue.reserve(non_terminal_sets_len);
// Add a state for each starting terminal of a non-terminal extra rule.
for (terminal, item_set) in non_terminal_extra_item_sets_by_first_terminal {
if terminal.is_non_terminal() {