From 99e71d08686f0b023e19dce27b5975622314e2d5 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Thu, 28 Oct 2021 16:23:17 +0300 Subject: [PATCH] scanner: preallocate space for tokens to reduce the number of allocations in the hot loop --- vlib/v/scanner/scanner.v | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vlib/v/scanner/scanner.v b/vlib/v/scanner/scanner.v index 8cb8c21496..14f43f8a90 100644 --- a/vlib/v/scanner/scanner.v +++ b/vlib/v/scanner/scanner.v @@ -560,6 +560,8 @@ pub fn (mut s Scanner) scan_all_tokens_in_buffer(mode CommentsMode) { } oldmode := s.comments_mode s.comments_mode = mode + // preallocate space for tokens + s.all_tokens = []token.Token{cap: s.text.len / 3} s.scan_remaining_text() s.comments_mode = oldmode s.tidx = 0