Optimize ThreadPool and MatcherBase constructors (#2283)

Add a missing reserve and missing std::move to each ctor respectively. The latter should really be caught by a clang-tidy perf linter.
This commit is contained in:
Aaron Gokaslan authored and GitHub committed 2025-11-30 21:49:23 -05:00
1 parent c1fa5e1710
commit 0a9102ff6b
1 file changed
+2 -1
+2 -1
View File
@@ -873,6 +873,7 @@ class ThreadPool final : public TaskQueue {
public:
explicit ThreadPool(size_t n, size_t mqr = 0)
: shutdown_(false), max_queued_requests_(mqr) {
threads_.reserve(n);
while (n) {
threads_.emplace_back(worker(*this));
n--;
@@ -981,7 +982,7 @@ namespace detail {
class MatcherBase {
public:
MatcherBase(std::string pattern) : pattern_(pattern) {}
MatcherBase(std::string pattern) : pattern_(std::move(pattern)) {}
virtual ~MatcherBase() = default;
const std::string &pattern() const { return pattern_; }