From 11fc113123b6b94b0a50e4e3e5cb68e9c35278cf Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 14:45:38 +0000 Subject: [PATCH] Perf: Reserve capacity for vectors in filtered_const_roll_table constructor Adding `filtered.reserve(mask.size())` and `indices.reserve(mask.size())` prevents multiple memory allocations when creating a `filtered_const_roll_table`. This resulted in a slight reduction in overall construction time. Co-authored-by: perim <436583+perim@users.noreply.github.com> --- dice.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dice.cpp b/dice.cpp index 17193a0..427c123 100644 --- a/dice.cpp +++ b/dice.cpp @@ -48,6 +48,8 @@ filtered_const_roll_table::filtered_const_roll_table(const std::vector& wei { assert(weights.size() == mask.size()); std::vector filtered; + filtered.reserve(mask.size()); + indices.reserve(mask.size()); for (size_t i = 0; i < mask.size(); i++) { if (mask[i])