mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +02:00
parent
7f7e81d905
commit
6ebb507af7
@ -38,6 +38,8 @@
|
||||
#include "base/function.hpp"
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
#include <algorithm>
|
||||
#include <random>
|
||||
|
||||
using namespace icinga;
|
||||
|
||||
@ -428,6 +430,10 @@ bool ConfigItem::CommitNewItems(const ActivationContext::Ptr& context, WorkQueue
|
||||
if (items.empty())
|
||||
return true;
|
||||
|
||||
// Shuffle all items to evenly distribute them over the threads of the workqueue. This increases perfomance
|
||||
// noticably in environments with lots of objects and available threads.
|
||||
std::shuffle(std::begin(items), std::end(items), std::default_random_engine {});
|
||||
|
||||
for (const auto& ip : items)
|
||||
newItems.push_back(ip.first);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user