CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-workerpool

Offload tasks to a pool of workers on node.js and in the browser

Overall
score

95%

Overview
Eval results
Files

rubric.jsonevals/scenario-7/

{
  "context": "This criteria evaluates the engineer's ability to use workerpool's transferable objects feature to efficiently transfer large ArrayBuffers between the main thread and workers without copying overhead. The focus is on proper usage of the Transfer class and understanding zero-copy data transfer mechanisms.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Pool Creation",
      "description": "Uses workerpool.pool() to create a worker pool that references the worker script file",
      "max_score": 10
    },
    {
      "name": "Worker Registration",
      "description": "Uses workerpool.worker() in the worker script to register the processBrightness function",
      "max_score": 10
    },
    {
      "name": "Transfer Class Usage",
      "description": "Wraps ArrayBuffers with workerpool.Transfer class when sending data to workers, specifying the buffer as a transferable object",
      "max_score": 30
    },
    {
      "name": "Return Transfer",
      "description": "Returns processed buffers from worker using workerpool.Transfer to transfer ownership back to main thread",
      "max_score": 25
    },
    {
      "name": "Task Execution",
      "description": "Uses pool.exec() to execute the processBrightness task on workers with appropriate parameters",
      "max_score": 10
    },
    {
      "name": "Buffer Processing",
      "description": "Correctly processes ArrayBuffer data in the worker using typed arrays (e.g., Uint8ClampedArray) to modify pixel values",
      "max_score": 10
    },
    {
      "name": "Pool Termination",
      "description": "Calls pool.terminate() to clean up worker pool after processing is complete",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-workerpool

tile.json