summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@opera.com>2026-05-29 11:22:59 +0200
committerJoel Klinghed <the_jk@opera.com>2026-05-29 11:22:59 +0200
commita6ac90c83edbade279cccfdb6d8ca02d8e5a60b8 (patch)
tree02812431b6aa823863fd393439688fdcd1a4d76a /src
parent9d1bbc93bb4a49ae73ae39ef323e2e18f303f0d9 (diff)
Use more effective lookup
Diffstat (limited to 'src')
-rw-r--r--src/blissful_monitor.cc6
-rw-r--r--src/fake_monitor.cc30
-rw-r--r--src/monitor.cc20
-rw-r--r--src/monitor.hh2
4 files changed, 8 insertions, 50 deletions
diff --git a/src/blissful_monitor.cc b/src/blissful_monitor.cc
index 8addc45..8824425 100644
--- a/src/blissful_monitor.cc
+++ b/src/blissful_monitor.cc
@@ -44,12 +44,6 @@ public:
size_t machines() const override {
return monitor_->machines();
}
- uint32_t id(size_t index) const override {
- return monitor_->id(index);
- }
- Machine machine_at(size_t index) const override {
- return monitor_->machine_at(index);
- }
Machine machine(uint32_t id) const override {
return monitor_->machine(id);
}
diff --git a/src/fake_monitor.cc b/src/fake_monitor.cc
index 336ad9c..be775e1 100644
--- a/src/fake_monitor.cc
+++ b/src/fake_monitor.cc
@@ -46,26 +46,6 @@ public:
return machines_.size();
}
- uint32_t id(size_t index) const override {
- auto it = machines_.begin();
- while (index--) ++it;
- if (it == machines_.end()) {
- assert(false);
- return static_cast<uint32_t>(-1);
- }
- return it->first;
- }
-
- Machine machine_at(size_t index) const override {
- auto it = machines_.begin();
- while (index--) ++it;
- if (it == machines_.end()) {
- assert(false);
- return Machine();
- }
- return it->second.data;
- }
-
Machine machine(uint32_t id) const override {
auto it = machines_.find(id);
if (it == machines_.end()) {
@@ -193,6 +173,12 @@ private:
}
}
+ uint32_t id_at(size_t index) const {
+ auto it = machines_.begin();
+ while (index--) ++it;
+ return it->first;
+ }
+
void fiddle_jobs(Looper*, uint32_t) {
timer_ = 0;
@@ -208,11 +194,11 @@ private:
auto host = rand() % machines_.size();
auto target = rand() % machines_.size();
do {
- auto tgtid = this->id(target);
+ auto tgtid = id_at(target);
auto& entry = machines_[tgtid];
if (entry.active < entry.data.max_jobs) {
entry.active++;
- add_job(id, host != target ? this->id(host) : tgtid, tgtid);
+ add_job(id, host != target ? id_at(host) : tgtid, tgtid);
break;
}
target = rand() % machines_.size();
diff --git a/src/monitor.cc b/src/monitor.cc
index b9c6085..17c3dfd 100644
--- a/src/monitor.cc
+++ b/src/monitor.cc
@@ -44,26 +44,6 @@ public:
return machines_.size();
}
- uint32_t id(size_t index) const override {
- auto it = machines_.begin();
- while (index--) ++it;
- if (it == machines_.end()) {
- assert(false);
- return 0xffffffff;
- }
- return it->first;
- }
-
- Machine machine_at(size_t index) const override {
- auto it = machines_.begin();
- while (index--) ++it;
- if (it == machines_.end()) {
- assert(false);
- return EMPTY;
- }
- return it->second;
- }
-
Machine machine(uint32_t id) const override {
auto it = machines_.find(id);
if (it == machines_.end()) {
diff --git a/src/monitor.hh b/src/monitor.hh
index 402b087..aa31f26 100644
--- a/src/monitor.hh
+++ b/src/monitor.hh
@@ -48,8 +48,6 @@ public:
uint16_t port = 0) = 0;
virtual void disconnect() = 0;
virtual size_t machines() const = 0;
- virtual uint32_t id(size_t index) const = 0;
- virtual Machine machine_at(size_t index) const = 0;
virtual Machine machine(uint32_t id) const = 0;
virtual void add_observer(Observer* observer) = 0;