perf: convert to arrow function tasks execution code path
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 11 Dec 2023 15:23:53 +0000 (16:23 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Mon, 11 Dec 2023 15:23:53 +0000 (16:23 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/worker/abstract-worker.ts
src/worker/cluster-worker.ts
src/worker/thread-worker.ts

index ae95dcf825c40640b019cbc8027123ae9b2257b0..dfcadf280f689c01cdb4fb9cb583d8138fe19135 100644 (file)
@@ -481,7 +481,7 @@ export abstract class AbstractWorker<
    *
    * @param task - The task to execute.
    */
-  protected run (task: Task<Data>): void {
+  protected readonly run = (task: Task<Data>): void => {
     const { name, taskId, data } = task
     const taskFunctionName = name ?? DEFAULT_TASK_NAME
     if (!this.taskFunctions.has(taskFunctionName)) {
@@ -509,10 +509,10 @@ export abstract class AbstractWorker<
    * @param fn - Task function that will be executed.
    * @param task - Input data for the task function.
    */
-  protected runSync (
+  protected readonly runSync = (
     fn: TaskSyncFunction<Data, Response>,
     task: Task<Data>
-  ): void {
+  ): void => {
     const { name, taskId, data } = task
     try {
       let taskPerformance = this.beginTaskPerformance(name)
@@ -543,10 +543,10 @@ export abstract class AbstractWorker<
    * @param fn - Task function that will be executed.
    * @param task - Input data for the task function.
    */
-  protected runAsync (
+  protected readonly runAsync = (
     fn: TaskAsyncFunction<Data, Response>,
     task: Task<Data>
-  ): void {
+  ): void => {
     const { name, taskId, data } = task
     let taskPerformance = this.beginTaskPerformance(name)
     fn(data)
index cafef7fc076feb74a3153418939820efd53153fc..d972692ec6eb4f182479cac008c47a1f20b75d8d 100644 (file)
@@ -59,7 +59,9 @@ export class ClusterWorker<
   }
 
   /** @inheritDoc */
-  protected sendToMainWorker (message: MessageValue<Response>): void {
+  protected readonly sendToMainWorker = (
+    message: MessageValue<Response>
+  ): void => {
     this.getMainWorker().send({ ...message, workerId: this.id })
   }
 }
index 756550e3337d1e8ef66071dd6dd21c77a5679f45..e133430f5029813aaac582c1a7156f053293d75f 100644 (file)
@@ -80,7 +80,9 @@ export class ThreadWorker<
   }
 
   /** @inheritDoc */
-  protected sendToMainWorker (message: MessageValue<Response>): void {
+  protected readonly sendToMainWorker = (
+    message: MessageValue<Response>
+  ): void => {
     this.port?.postMessage({ ...message, workerId: this.id })
   }