Optimize parameter passing to avoid unnecessary copying

This commit is contained in:
Pugemon
2024-06-07 04:00:38 +03:00
parent 46ca1bb04a
commit f25a425cb9
123 changed files with 578 additions and 522 deletions
+2 -1
View File
@@ -12,6 +12,7 @@
#include <iostream>
#include <functional>
#include <condition_variable>
#include <utility>
namespace util {
@@ -106,7 +107,7 @@ public:
std::string name,
supplier<std::shared_ptr<Worker<T, R>>> workersSupplier,
consumer<R&> resultConsumer
) : logger(name), resultConsumer(resultConsumer) {
) : logger(std::move(name)), resultConsumer(resultConsumer) {
const uint num_threads = std::thread::hardware_concurrency();
for (uint i = 0; i < num_threads; i++) {
threads.emplace_back(&ThreadPool<T,R>::threadLoop, this, i, workersSupplier());