perf: use a single map to store pool workers and their related data
[poolifier.git] / src / pools / selection-strategies / fair-share-worker-choice-strategy.ts
index 00ed1c90aa53592ca1de2b067273f4e6f1de2693..8b063119f95e2df2714e57f26bff13404e3b3e0c 100644 (file)
@@ -46,7 +46,8 @@ export class FairShareWorkerChoiceStrategy<
   public choose (): Worker {
     let minWorkerVirtualTaskEndTimestamp = Infinity
     let chosenWorker!: Worker
-    for (const worker of this.pool.workers) {
+    for (const value of this.pool.workers.values()) {
+      const worker = value.worker
       this.computeWorkerLastVirtualTaskTimestamp(worker)
       const workerLastVirtualTaskEndTimestamp =
         this.workerLastVirtualTaskTimestamp.get(worker)?.end ?? 0