repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
perf: optimize task(s) stealing
[poolifier.git]
/
src
/
pools
/
worker-node.ts
diff --git
a/src/pools/worker-node.ts
b/src/pools/worker-node.ts
index 64400d9eb1426be9ffe546b45855b606bfec05c0..5d28802c12769c1cbaf0cd519e22708918788016 100644
(file)
--- a/
src/pools/worker-node.ts
+++ b/
src/pools/worker-node.ts
@@
-95,6
+95,12
@@
export class WorkerNode<Worker extends IWorker, Data = unknown>
return this.tasksQueue.dequeue(bucket)
}
return this.tasksQueue.dequeue(bucket)
}
+ /** @inheritdoc */
+ public dequeueLastBucketTask (): Task<Data> | undefined {
+ // Start from the last empty or partially filled bucket
+ return this.tasksQueue.dequeue(this.tasksQueue.buckets + 1)
+ }
+
/** @inheritdoc */
public clearTasksQueue (): void {
this.tasksQueue.clear()
/** @inheritdoc */
public clearTasksQueue (): void {
this.tasksQueue.clear()