From: Steinar H. Gunderson Date: Thu, 15 Oct 2020 21:41:16 +0000 (+0200) Subject: Merge non-results from worker threads to put less load on Serializer. X-Git-Tag: 1.0.4~6 X-Git-Url: https://git.sesse.net/?p=plocate;a=commitdiff_plain;h=36b3de205b731a061e84a54c5318039b3a3d31cb Merge non-results from worker threads to put less load on Serializer. --- diff --git a/plocate.cpp b/plocate.cpp index e8fbff3..926bbf1 100644 --- a/plocate.cpp +++ b/plocate.cpp @@ -432,7 +432,11 @@ public: void print(uint64_t seq, uint64_t skip, const string msg) override { lock_guard lock(wt->result_mu); - wt->results.emplace_back(WorkerThread::Result{ seq, skip, move(msg) }); + if (msg.empty() && !wt->results.empty() && wt->results.back().seq + wt->results.back().skip == seq) { + wt->results.back().skip += skip; + } else { + wt->results.emplace_back(WorkerThread::Result{ seq, skip, move(msg) }); + } } private: