From 90f7bf6f72b1dabef6b5867ccdbf87705d1a0387 Mon Sep 17 00:00:00 2001 From: Kampfkarren Date: Thu, 28 Jul 2022 17:56:28 -0700 Subject: [PATCH] Reserve format capacity --- Compiler/src/Compiler.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Compiler/src/Compiler.cpp b/Compiler/src/Compiler.cpp index 5f710a4c..53f51b4a 100644 --- a/Compiler/src/Compiler.cpp +++ b/Compiler/src/Compiler.cpp @@ -1482,7 +1482,14 @@ struct Compiler void compileExprInterpString(AstExprInterpString* expr, uint8_t target, bool targetTemp) { + size_t formatCapacity = 0; + for (AstArray string : expr->strings) + { + formatCapacity += string.size + std::count(string.data, string.data + string.size, '%'); + } + std::string formatString; + formatString.reserve(formatCapacity); size_t stringsLeft = expr->strings.size;