{"_id":"piscina","_rev":"4268265","name":"piscina","description":"A fast, efficient Node.js Worker Thread Pool implementation","dist-tags":{"alpha":"5.0.0-alpha.2","latest":"5.1.4"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"time":{"modified":"2026-04-06T16:38:42.000Z","created":"2020-04-29T18:53:28.968Z","5.1.4":"2025-11-07T10:07:27.121Z","5.1.3":"2025-07-09T09:22:16.100Z","5.1.2":"2025-06-26T08:35:00.036Z","5.1.1":"2025-06-19T09:25:31.503Z","5.1.0":"2025-06-15T11:05:11.346Z","5.0.0":"2025-05-02T10:22:09.327Z","4.9.2":"2025-03-18T16:02:46.043Z","4.9.1":"2025-03-18T08:00:39.150Z","4.9.0":"2025-03-16T10:06:23.789Z","5.0.0-alpha.2":"2025-03-16T09:58:36.221Z","5.0.0-alpha.1":"2025-01-10T09:52:59.402Z","5.0.0-alpha.0":"2024-12-04T11:28:54.116Z","4.8.0":"2024-12-04T11:24:50.995Z","4.7.0":"2024-09-18T09:51:22.166Z","4.6.1":"2024-06-26T08:54:08.568Z","4.6.1-0":"2024-06-23T09:01:25.574Z","4.6.0":"2024-06-18T09:04:27.550Z","4.5.1":"2024-05-22T10:26:07.422Z","4.5.0":"2024-05-20T10:28:08.230Z","4.4.0":"2024-02-28T09:08:29.245Z","4.3.2":"2024-02-16T10:58:52.857Z","4.3.1":"2024-01-30T09:18:08.907Z","4.3.0":"2024-01-16T08:51:02.887Z","4.2.1":"2023-12-13T09:01:22.174Z","4.2.0":"2023-11-19T11:36:44.085Z","4.1.0":"2023-08-01T21:06:10.413Z","4.0.0":"2023-06-14T12:19:59.413Z","3.2.0":"2021-12-10T17:13:35.461Z","3.1.0":"2021-05-17T15:53:39.853Z","3.0.0":"2021-04-30T22:51:54.273Z","2.2.0":"2021-02-23T21:41:26.265Z","2.1.0":"2020-12-02T23:08:10.875Z","2.0.0":"2020-11-25T01:34:26.627Z","1.6.3":"2020-07-09T15:08:51.647Z","1.6.2":"2020-06-01T21:42:53.655Z","1.6.1":"2020-05-27T00:01:55.093Z","1.6.0":"2020-05-22T23:36:31.103Z","1.5.1":"2020-05-21T23:08:50.520Z","1.5.0":"2020-05-16T21:32:42.605Z","1.4.0":"2020-05-12T16:03:06.950Z","1.3.0":"2020-05-09T04:06:55.212Z","1.2.1":"2020-05-06T21:21:36.425Z","1.2.0":"2020-05-04T14:09:11.322Z","1.1.0":"2020-05-01T22:41:17.463Z","1.0.0":"2020-05-01T18:09:31.077Z","1.0.0-pre":"2020-04-29T18:53:28.968Z"},"users":{},"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"versions":{"5.1.4":{"name":"piscina","version":"5.1.4","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=20.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"node scripts/run-tests.js --pattern='test/**/*test.ts'","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"node scripts/run-tests.js --coverage --pattern='test/**/*test.ts'","prepack":"npm run build","benchmark":"node --allow-natives-syntax benchmark/index.js --scope all","benchmark:ci":"node --allow-natives-syntax benchmark/index.js --scope all --reporter json | jq '.[] | .name, .opsSec'","benchmark:simple":"node --allow-natives-syntax benchmark/index.js --scope simple:all","benchmark:simple:default":"node --allow-natives-syntax benchmark/index.js --scope simple","benchmark:simple:async":"node --allow-natives-syntax benchmark/index.js --scope simple:async","benchmark:startup":"node --allow-natives-syntax benchmark/index.js --scope startup","benchmark:queue":"node --allow-natives-syntax benchmark/index.js --scope queue"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","abort-controller":"^3.0.0","bench-node":"^0.7.0","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","glob":"^11.0.2","neostandard":"^0.12.0","tsx":"^4.20.3","typescript":"5.8.3"},"optionalDependencies":{"@napi-rs/nice":"^1.0.4"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.1.4","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"shasum":"86ca2b8e42bcbfc258dc7b09d918ee04b2327a67","size":96700,"noattachment":false,"key":"/piscina/-/piscina-5.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.1.4.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_5.1.4_1762510046930_0.8130661863273563"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-07T10:07:27.121Z","publish_time":1762510047121,"_source_registry_name":"default","_cnpm_publish_time":1762510047121},"5.1.3":{"name":"piscina","version":"5.1.3","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=20.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"node scripts/run-tests.js --pattern='test/**/*test.ts'","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"node scripts/run-tests.js --coverage --pattern='test/**/*test.ts'","prepack":"npm run build","benchmark":"npm run benchmark:queue && npm run benchmark:piscina","benchmark:piscina":"npm run benchmark:default && npm run benchmark:queue:fixed && npm run benchmark:default:comparison","benchmark:default":"node benchmark/simple-benchmark.js","benchmark:default:async":"node benchmark/simple-benchmark.js","benchmark:default:comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue":"npm run benchmark:queue:comparison","benchmark:queue:fixed":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:queue:comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","abort-controller":"^3.0.0","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","glob":"^11.0.2","neostandard":"^0.12.0","tinybench":"^4.0.1","tsx":"^4.20.3","typescript":"5.8.3"},"optionalDependencies":{"@napi-rs/nice":"^1.0.4"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.1.3","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"shasum":"30a460500a08770fc97d622e63857a5978dfc466","size":92996,"noattachment":false,"key":"/piscina/-/piscina-5.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.1.3.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev","actor":{"name":"metcoder95","email":"me@metcoder.dev","type":"user"}},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_5.1.3_1752052935928_0.6911684766636361"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-09T09:22:16.100Z","publish_time":1752052936100,"_source_registry_name":"default","_cnpm_publish_time":1752052936100},"5.1.2":{"name":"piscina","version":"5.1.2","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=20.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"node scripts/run-tests.js --pattern='test/**/*test.ts'","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"node scripts/run-tests.js --coverage --pattern='test/**/*test.ts'","prepack":"npm run build","benchmark":"npm run benchmark:queue && npm run benchmark:piscina","benchmark:piscina":"npm run benchmark:default && npm run benchmark:queue:fixed && npm run benchmark:default:comparison","benchmark:default":"node benchmark/simple-benchmark.js","benchmark:default:async":"node benchmark/simple-benchmark.js","benchmark:default:comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue":"npm run benchmark:queue:comparison","benchmark:queue:fixed":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:queue:comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","glob":"^11.0.2","neostandard":"^0.12.0","tinybench":"^4.0.1","tsx":"^4.19.4","typescript":"5.8.3"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.1.2","gitHead":"6359ffeefdfacae83444eb65e4697b693d5713dc","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"shasum":"40cde93d66149dbaf5e0849f868ce201b0237eb5","size":92820,"noattachment":false,"key":"/piscina/-/piscina-5.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.1.2.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev","actor":{"name":"metcoder95","email":"me@metcoder.dev","type":"user"}},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_5.1.2_1750926899825_0.9854498638953786"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-26T08:35:00.036Z","publish_time":1750926900036,"_source_registry_name":"default","_cnpm_publish_time":1750926900036},"5.1.1":{"name":"piscina","version":"5.1.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=20.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"node scripts/run-tests.js --pattern='test/**/*test.ts'","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"node scripts/run-tests.js --coverage --pattern='test/**/*test.ts'","prepack":"npm run build","benchmark":"npm run benchmark:queue && npm run benchmark:piscina","benchmark:piscina":"npm run benchmark:default && npm run benchmark:queue:fixed && npm run benchmark:default:comparison","benchmark:default":"node benchmark/simple-benchmark.js","benchmark:default:async":"node benchmark/simple-benchmark.js","benchmark:default:comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue":"npm run benchmark:queue:comparison","benchmark:queue:fixed":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:queue:comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^24.0.1","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","glob":"^11.0.2","neostandard":"^0.12.0","tinybench":"^4.0.1","tsx":"^4.19.4","typescript":"5.8.3"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.1.1","gitHead":"3b3c07c8bfc8644efe0b4030a37bb9a62102ee2a","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"shasum":"7a34e080d0500b3b7a56d0b3f37d8a00ec4d60fe","size":92912,"noattachment":false,"key":"/piscina/-/piscina-5.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.1.1.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev","actor":{"name":"metcoder95","email":"me@metcoder.dev","type":"user"}},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_5.1.1_1750325131319_0.8339929115300202"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-19T09:25:31.503Z","publish_time":1750325131503,"_source_registry_name":"default","_cnpm_publish_time":1750325131503},"5.1.0":{"name":"piscina","version":"5.1.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=20.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"node scripts/run-tests.js --pattern='test/**/*test.ts'","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"node scripts/run-tests.js --coverage --pattern='test/**/*test.ts'","prepack":"npm run build","benchmark":"npm run benchmark:queue && npm run benchmark:piscina","benchmark:piscina":"npm run benchmark:default && npm run benchmark:queue:fixed && npm run benchmark:default:comparison","benchmark:default":"node benchmark/simple-benchmark.js","benchmark:default:async":"node benchmark/simple-benchmark.js","benchmark:default:comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue":"npm run benchmark:queue:comparison","benchmark:queue:fixed":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:queue:comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","glob":"^11.0.2","neostandard":"^0.12.0","tinybench":"^4.0.1","tsx":"^4.19.4","typescript":"5.8.3"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.1.0","gitHead":"c31217c48b41ce7eff721b35019078f8b519c9e9","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"shasum":"9786b3ddc56a11ce4aaac402129a37b15c69170b","size":92826,"noattachment":false,"key":"/piscina/-/piscina-5.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.1.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_5.1.0_1749985511160_0.15325654127539945"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-15T11:05:11.346Z","publish_time":1749985511346,"_source_registry_name":"default","_cnpm_publish_time":1749985511346},"5.0.0":{"name":"piscina","version":"5.0.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=18.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","benchmark":"npm run benchmark:queue && npm run benchmark:piscina","benchmark:piscina":"npm run benchmark:default && npm run benchmark:queue:fixed && npm run benchmark:default:comparison","benchmark:default":"node benchmark/simple-benchmark.js","benchmark:default:async":"node benchmark/simple-benchmark.js","benchmark:default:comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue":"npm run benchmark:queue:comparison","benchmark:queue:fixed":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:queue:comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","neostandard":"^0.12.0","tap":"^16.3.7","tinybench":"^4.0.1","ts-node":"^10.9.2","typescript":"5.8.3"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.0.0","gitHead":"18f93b3adca5db2fd2d4f57fd90e69fda4b730fa","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"9a4f11e4b4ff137ea6b90a66c3ceb7755b2be56f","size":92056,"noattachment":false,"key":"/piscina/-/piscina-5.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.0.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_5.0.0_1746181329119_0.5518074634419605"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-05-02T10:22:09.327Z","publish_time":1746181329327,"_source_registry_name":"default","_cnpm_publish_time":1746181329327},"4.9.2":{"name":"piscina","version":"4.9.2","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.6.2"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.9.2","gitHead":"2c717d6140b4986af3d7d55c73247d3ae9eb6a24","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"80f2c2375231720337c703e443941adfac8caf75","size":81774,"noattachment":false,"key":"/piscina/-/piscina-4.9.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.9.2.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_4.9.2_1742313765781_0.35609588273007664"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-18T16:02:46.043Z","publish_time":1742313766043,"_source_registry_name":"default","_cnpm_publish_time":1742313766043},"4.9.1":{"name":"piscina","version":"4.9.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.6.2"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.9.1","gitHead":"86f6942da98a6e32ea2d393aa13d7da9831b864c","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"fb708ebfc421a0639244eeeb039044fbf23598eb","size":93608,"noattachment":false,"key":"/piscina/-/piscina-4.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.9.1.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_4.9.1_1742284838976_0.0690041374070327"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-18T08:00:39.150Z","publish_time":1742284839150,"_source_registry_name":"default","_cnpm_publish_time":1742284839150},"4.9.0":{"name":"piscina","version":"4.9.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.6.2"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.9.0","gitHead":"893a11c4b6d5d8db2e55e38d92588068136c9e41","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"73c33d6037bee61dc2632aaca3b06afaa84288d9","size":227970,"noattachment":false,"key":"/piscina/-/piscina-4.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.9.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_4.9.0_1742119583525_0.7183542485464045"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-16T10:06:23.789Z","publish_time":1742119583789,"_source_registry_name":"default","_cnpm_publish_time":1742119583789},"5.0.0-alpha.2":{"name":"piscina","version":"5.0.0-alpha.2","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=18.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","benchmark":"npm run benchmark:queue && npm run benchmark:piscina","benchmark:piscina":"npm run benchmark:default && npm run benchmark:queue:fixed && npm run benchmark:default:comparison","benchmark:default":"node benchmark/simple-benchmark.js","benchmark:default:async":"node benchmark/simple-benchmark.js","benchmark:default:comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue":"npm run benchmark:queue:comparison","benchmark:queue:fixed":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:queue:comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","neostandard":"^0.12.0","tap":"^16.3.7","tinybench":"^3.0.0","ts-node":"^10.9.2","typescript":"5.8.2"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.0.0-alpha.2","readmeFilename":"README.md","gitHead":"8d45fb27fc2c81a67c02a4ef172daffee4d54957","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"f0bb624e2e2ea79b9c7f0147f3a59caefee8cf2d","size":103880,"noattachment":false,"key":"/piscina/-/piscina-5.0.0-alpha.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.0.0-alpha.2.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_5.0.0-alpha.2_1742119116052_0.8083276468566831"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-03-16T09:58:36.221Z","publish_time":1742119116221,"_source_registry_name":"default","_cnpm_publish_time":1742119116221},"5.0.0-alpha.1":{"name":"piscina","version":"5.0.0-alpha.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=18.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","benchmark":"npm run bench:queue && npm run benchmark:piscina","benchmark:piscina":"npm run benchmark:default &&npm run benchmark:queue:fixed && npm run benchmark:default:comparison","benchmark:default":"node benchmark/simple-benchmark.js","benchmark:default:async":"node benchmark/simple-benchmark.js","benchmark:default:comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue":"npm run benchmark:queue-comparison","benchmark:queue:fixed":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:queue:comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","neostandard":"^0.12.0","tap":"^16.3.7","tinybench":"^3.0.0","ts-node":"^10.9.2","typescript":"5.7.2"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.0.0-alpha.1","readmeFilename":"README.md","gitHead":"b446da76321caf94966a1c615794efadf68fb2f4","_nodeVersion":"22.13.0","_npmVersion":"10.9.2","dist":{"shasum":"e3ee0f8c96bda10707586fea1d7043a69435cc5a","size":91340,"noattachment":false,"key":"/piscina/-/piscina-5.0.0-alpha.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.0.0-alpha.1.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/piscina_5.0.0-alpha.1_1736502779240_0.21838660955203992"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-01-10T09:52:59.402Z","publish_time":1736502779402,"_source_registry_name":"default","_cnpm_publish_time":1736502779402},"5.0.0-alpha.0":{"name":"piscina","version":"5.0.0-alpha.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"engines":{"node":">=18.x"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"eslint","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","benchmark":"npm run bench:queue && npm run benchmark:piscina","benchmark:piscina":"npm run benchmark:default &&npm run benchmark:queue:fixed && npm run benchmark:default:comparison","benchmark:default":"node benchmark/simple-benchmark.js","benchmark:default:async":"node benchmark/simple-benchmark.js","benchmark:default:comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue":"npm run benchmark:queue-comparison","benchmark:queue:fixed":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:queue:comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"},{"name":"Carlos Fuentes","email":"me@metcoder.dev"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","eslint":"^9.16.0","gen-esm-wrapper":"^1.1.1","neostandard":"^0.11.9","tap":"^16.3.7","tinybench":"^3.0.0","ts-node":"^10.9.2","typescript":"5.7.2"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@5.0.0-alpha.0","gitHead":"d973eacf68ea5deef9e58270ae17d13c86e532dc","_nodeVersion":"22.9.0","_npmVersion":"10.8.3","dist":{"shasum":"827e7f7bfb7f01cf00b4a41782fb9eb7573aed54","size":90316,"noattachment":false,"key":"/piscina/-/piscina-5.0.0-alpha.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-5.0.0-alpha.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_5.0.0-alpha.0_1733311733861_0.5336287957372554"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-12-04T11:28:54.116Z","publish_time":1733311734116,"_source_registry_name":"default","_cnpm_publish_time":1733311734116},"4.8.0":{"name":"piscina","version":"4.8.0","keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"license":"MIT","_id":"piscina@4.8.0","maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"homepage":"https://github.com/piscinajs/piscina#readme","bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"dist":{"shasum":"5f5c5b1f4f3f50f8de894239c98b7b10d41ba4a6","size":81609,"noattachment":false,"key":"/piscina/-/piscina-4.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.8.0.tgz"},"main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"gitHead":"39d407e0f33ad5dc4e69e67b566eac08cd3d464f","scripts":{"lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","bench":"npm run bench:taskqueue && npm run bench:piscina","build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","prepack":"npm run build","test:ci":"npm run lint && npm run build && npm run test:coverage","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","test:coverage":"c8 --reporter=lcov tap --cov","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"repository":{"url":"git+https://github.com/piscinajs/piscina.git","type":"git"},"_npmVersion":"10.8.3","description":"A fast, efficient Node.js Worker Thread Pool implementation","directories":{"test":"test","example":"examples"},"_nodeVersion":"22.9.0","eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-unreachable-loop":"off","no-use-before-define":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"Atomics":true,"MessageChannel":true,"AbortController":true,"SharedArrayBuffer":true}},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.2","tap":"^16.3.7","snazzy":"^9.0.0","ts-node":"^10.9.2","standardx":"^7.0.0","tinybench":"^2.8.0","typescript":"5.6.2","@types/node":"^22.4.1","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","abort-controller":"^3.0.0","@typescript-eslint/parser":"^6.9.0","@typescript-eslint/eslint-plugin":"^6.9.0"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/piscina_4.8.0_1733311490824_0.006239946493464821","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-12-04T11:24:50.995Z","publish_time":1733311490995,"_source_registry_name":"default","_cnpm_publish_time":1733311490995},"4.7.0":{"name":"piscina","version":"4.7.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^22.4.1","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^10.1.2","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.6.2"},"optionalDependencies":{"@napi-rs/nice":"^1.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.7.0","gitHead":"d051f130ffde475b4561e19f4b5736423eef7eda","_nodeVersion":"23.0.0-nightly20240821821ffab0f7","_npmVersion":"10.8.2","dist":{"shasum":"68936fc77128db00541366531330138e366dc851","size":217380,"noattachment":false,"key":"/piscina/-/piscina-4.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.7.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.7.0_1726653081891_0.47883061538259986"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-09-18T09:51:22.166Z","publish_time":1726653082166,"_source_registry_name":"default","_cnpm_publish_time":1726653082166},"4.6.1":{"name":"piscina","version":"4.6.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^9.1.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.4.5"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.6.1","gitHead":"c4b60b22f89c645e9b71546170ed51b63c8c5fca","_nodeVersion":"22.1.0","_npmVersion":"10.7.0","dist":{"shasum":"4de673b0ff84bf641b31b07b3348669383b51c9a","size":75583,"noattachment":false,"key":"/piscina/-/piscina-4.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.6.1.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.6.1_1719392048325_0.34238305885918874"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-06-26T08:54:08.568Z","publish_time":1719392048568,"_source_registry_name":"default","maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_cnpm_publish_time":1719392048568},"4.6.1-0":{"name":"piscina","version":"4.6.1-0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^9.1.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.4.5"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.6.1-0","gitHead":"5f60e8baa8de9e5fa1e50e004a05190c48901107","_nodeVersion":"22.1.0","_npmVersion":"10.7.0","dist":{"shasum":"20d833cb471ca0054e5ac88fd465fac2495bc9f4","size":75825,"noattachment":false,"key":"/piscina/-/piscina-4.6.1-0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.6.1-0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.6.1-0_1719133285433_0.21037283758002867"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-06-23T09:01:25.574Z","publish_time":1719133285574,"_source_registry_name":"default","maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_cnpm_publish_time":1719133285574},"4.6.0":{"name":"piscina","version":"4.6.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^9.1.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.4.5"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.6.0","gitHead":"48f19a9ea2cd8997a7130a33e7651c17b3ba60dc","_nodeVersion":"22.1.0","_npmVersion":"10.7.0","dist":{"shasum":"ac8e0e0bd3b881ac0fff3d51fa91265b53c32072","size":75732,"noattachment":false,"key":"/piscina/-/piscina-4.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.6.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.6.0_1718701467329_0.008754116503608689"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-06-18T09:04:27.550Z","publish_time":1718701467550,"_source_registry_name":"default","_cnpm_publish_time":1718701467550},"4.5.1":{"name":"piscina","version":"4.5.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/main.js","types":"./dist/index.d.ts","exports":{"types":"./dist/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/main.js"},"scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^9.1.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.4.5"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.5.1","gitHead":"13c80250b9971bd082da78ce373723b875f3e23b","_nodeVersion":"22.1.0","_npmVersion":"10.7.0","dist":{"shasum":"103f4237ce88c3f9e8b63c278673bcbddc10a9a2","size":73570,"noattachment":false,"key":"/piscina/-/piscina-4.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.5.1.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.5.1_1716373567239_0.4283001055998561"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-22T10:26:07.422Z","publish_time":1716373567422,"_source_registry_name":"default","_cnpm_publish_time":1716373567422},"4.5.0":{"name":"piscina","version":"4.5.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/main.js","exports":{"types":"./dist/src/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/src/main.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"c8 tap","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"c8 --reporter=lcov tap --cov","prepack":"npm run build","bench":"npm run bench:taskqueue && npm run bench:piscina","bench:piscina":"npm run benchmark:piscina-default &&npm run benchmark:piscina-fixed-queue && npm run benchmark:piscina-comparison","bench:taskqueue":"npm run benchmark:queue-comparison","benchmark:piscina-default":"node benchmark/simple-benchmark.js","benchmark:piscina-fixed-queue":"node benchmark/simple-benchmark-fixed-queue.js","benchmark:piscina-comparison":"node benchmark/piscina-queue-comparison.js","benchmark:queue-comparison":"node benchmark/queue-comparison.js"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","c8":"^9.1.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","tinybench":"^2.8.0","ts-node":"^10.9.2","typescript":"5.4.5"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.5.0","gitHead":"db2226b2b15f8a57a1c631f238e0824f540b4d3b","_nodeVersion":"22.1.0","_npmVersion":"10.7.0","dist":{"shasum":"739074b03687958d413b226d358727f648805cb0","size":71530,"noattachment":false,"key":"/piscina/-/piscina-4.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.5.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.5.0_1716200888064_0.699485780573825"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-20T10:28:08.230Z","publish_time":1716200888230,"_source_registry_name":"default","_cnpm_publish_time":1716200888230},"4.4.0":{"name":"piscina","version":"4.4.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/main.js","exports":{"types":"./dist/src/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/src/main.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"tap --ts","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"tap --ts --cov --coverage-report=html --no-browser --no-check-coverage","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","ts-node":"^10.9.2","typescript":"5.3.3"},"dependencies":{},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.4.0","gitHead":"2e42b76fa137ac8ceb0cfc40ac4ce34d94a94f66","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"shasum":"e3af8e5721d8fad08c6ccaf8a64f9f42279efbb5","size":51978,"noattachment":false,"key":"/piscina/-/piscina-4.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.4.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.4.0_1709111309041_0.03555557219290595"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-28T09:08:29.245Z","publish_time":1709111309245,"_source_registry_name":"default","_cnpm_publish_time":1709111309245},"4.3.2":{"name":"piscina","version":"4.3.2","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"types":"./dist/src/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"tap --ts","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"tap --ts --cov --coverage-report=html --no-browser --no-check-coverage","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","ts-node":"^10.9.2","typescript":"5.3.3"},"dependencies":{},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.3.2","gitHead":"436b6ce6db5d4fcf4826023d29d8b608aa13d6d6","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"shasum":"e390da6a7127a9f3a98047c8952526ae9a297c9f","size":76942,"noattachment":false,"key":"/piscina/-/piscina-4.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.3.2.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.3.2_1708081132727_0.2672463958715905"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-16T10:58:52.857Z","publish_time":1708081132857,"_source_registry_name":"default","_cnpm_publish_time":1708081132857},"4.3.1":{"name":"piscina","version":"4.3.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"types":"./dist/src/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"tap --ts","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"tap --ts --cov --coverage-report=html --no-browser --no-check-coverage","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","ts-node":"^10.9.2","typescript":"5.3.3"},"dependencies":{},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.3.1","gitHead":"25b08191a97a43ce7bbcd12801905bafa217f25a","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"shasum":"eaa59461caa27f07c637e667b14c36a0bd7e7daf","size":76284,"noattachment":false,"key":"/piscina/-/piscina-4.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.3.1.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.3.1_1706606288776_0.3248405060374693"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-01-30T09:18:08.907Z","publish_time":1706606288907,"_source_registry_name":"default","_cnpm_publish_time":1706606288907},"4.3.0":{"name":"piscina","version":"4.3.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"types":"./dist/src/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"tap --ts","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"tap --ts --cov --coverage-report=html --no-browser --no-check-coverage","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","ts-node":"^10.9.2","typescript":"5.3.3"},"dependencies":{},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"_id":"piscina@4.3.0","gitHead":"92dbef99ed324ec4f67786f0b1fe06cdd289420b","_nodeVersion":"21.4.0","_npmVersion":"10.2.4","dist":{"shasum":"fd219f507d410c61dbfb9bd4155c1f19eddb8535","size":63091,"noattachment":false,"key":"/piscina/-/piscina-4.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.3.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.3.0_1705395062759_0.029280547531084444"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-01-16T08:51:02.887Z","publish_time":1705395062887,"_source_registry_name":"default","_cnpm_publish_time":1705395062887},"4.2.1":{"name":"piscina","version":"4.2.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"types":"./dist/src/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"tap --ts","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"tap --ts --cov --coverage-report=html --no-browser --no-check-coverage","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","ts-node":"^10.9.2","typescript":"5.3.2"},"dependencies":{"hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"8abd1bce24221c127f9489d625907641fb08f8d1","_id":"piscina@4.2.1","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"efb7f009d3a961e02ae08f1909bd24b5423e77fa","size":62289,"noattachment":false,"key":"/piscina/-/piscina-4.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.2.1.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.2.1_1702458081918_0.604537460617123"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-12-13T09:01:22.174Z","publish_time":1702458082174,"_source_registry_name":"default","_cnpm_publish_time":1702458082174},"4.2.0":{"name":"piscina","version":"4.2.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"types":"./dist/src/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"tap --ts","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"tap --ts --cov --coverage-report=html --no-browser --no-check-coverage","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.8.0","@typescript-eslint/eslint-plugin":"^6.9.0","@typescript-eslint/parser":"^6.9.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","ts-node":"^9.1.1","typescript":"5.1.6"},"dependencies":{"hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"d6c6014340430fc91a15e908f61d2c7b74b3fdac","_id":"piscina@4.2.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"61ac6c07f45fdefdd7726b6b07fc237d9a8d1776","size":62183,"noattachment":false,"key":"/piscina/-/piscina-4.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.2.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.2.0_1700393803838_0.2904188700660153"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-11-19T11:36:44.085Z","publish_time":1700393804085,"_source_registry_name":"default","_cnpm_publish_time":1700393804085},"4.1.0":{"name":"piscina","version":"4.1.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"types":"./dist/src/index.d.ts","import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"tap --ts","test:ci":"npm run lint && npm run build && npm run test:coverage","test:coverage":"tap --ts --cov --coverage-report=html --no-browser --no-check-coverage","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^20.3.3","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^16.3.7","ts-node":"^9.1.1","typescript":"4.3.x"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"1c228fc1bfb413e747a85e863e26acb3334158d2","_id":"piscina@4.1.0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"shasum":"809578ee3ab2ecf4cf71c2a062100b4b95a85b96","size":58776,"noattachment":false,"key":"/piscina/-/piscina-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.1.0.tgz"},"_npmUser":{"name":"metcoder95","email":"me@metcoder.dev"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.1.0_1690923970217_0.2228496020226769"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-01T21:06:10.413Z","publish_time":1690923970413,"_source_registry_name":"default","_cnpm_publish_time":1690923970413},"4.0.0":{"name":"piscina","version":"4.0.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap --ts","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^15.0.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^15.0.6","ts-node":"^9.1.1","typescript":"4.3.x"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"1069a3da7467f62c7d91d5ff1b2b8c8f53df5aa9","_id":"piscina@4.0.0","_nodeVersion":"20.2.0","_npmVersion":"9.6.6","dist":{"shasum":"f8913d52b2000606d51aaa242f0813a0c77ca3b1","size":56352,"noattachment":false,"key":"/piscina/-/piscina-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-4.0.0.tgz"},"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_4.0.0_1686745199222_0.5684872857036884"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-14T12:19:59.413Z","publish_time":1686745199413,"_source_registry_name":"default","_cnpm_publish_time":1686745199413},"3.2.0":{"name":"piscina","version":"3.2.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap --ts","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^15.0.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^15.0.6","ts-node":"^9.1.1","typescript":"4.3.x"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"11fe3d04bd667fff87e456cdc412d22b2aa05487","_id":"piscina@3.2.0","_nodeVersion":"17.1.0","_npmVersion":"8.1.2","dist":{"shasum":"f5a1dde0c05567775690cccefe59d9223924d154","size":55837,"noattachment":false,"key":"/piscina/-/piscina-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-3.2.0.tgz"},"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_3.2.0_1639156415289_0.23930569651976463"},"_hasShrinkwrap":false,"publish_time":1639156415461,"_cnpm_publish_time":1639156415461,"_cnpmcore_publish_time":"2021-12-16T19:31:14.342Z"},"3.1.0":{"name":"piscina","version":"3.1.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap --ts","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^15.0.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^15.0.6","ts-node":"^9.1.1","typescript":"^4.2.4"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"2f9567883fe783036c570acd7e0c1385cec1941f","_id":"piscina@3.1.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"shasum":"2333636865b6cb69c5a370bbc499a98cabcf3e04","size":54877,"noattachment":false,"key":"/piscina/-/piscina-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-3.1.0.tgz"},"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_3.1.0_1621266819587_0.22399731256989153"},"_hasShrinkwrap":false,"publish_time":1621266819853,"_cnpm_publish_time":1621266819853,"_cnpmcore_publish_time":"2021-12-16T19:31:14.681Z"},"3.0.0":{"name":"piscina","version":"3.0.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap --ts","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^15.0.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^15.0.6","ts-node":"^9.1.1","typescript":"^4.2.4"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"849a58c1a9f4302aa1eb6d6b914c561d6dd1632c","_id":"piscina@3.0.0","_nodeVersion":"16.0.0","_npmVersion":"7.10.0","dist":{"shasum":"3880ac03f942c81dd1b9de349ede9ffbcb9aa530","size":53008,"noattachment":false,"key":"/piscina/-/piscina-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-3.0.0.tgz"},"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_3.0.0_1619823114103_0.4539667588294949"},"_hasShrinkwrap":false,"publish_time":1619823114273,"_cnpm_publish_time":1619823114273,"_cnpmcore_publish_time":"2021-12-16T19:31:15.033Z"},"2.2.0":{"name":"piscina","version":"2.2.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^14.14.31","@typescript-eslint/eslint-plugin":"^4.15.1","@typescript-eslint/parser":"^4.15.1","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.1","snazzy":"^9.0.0","standardx":"^7.0.0","tap":"^14.11.0","typescript":"^4.1.5"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"84b519a0734b3de1cae526158c1c2d4f5079db05","_id":"piscina@2.2.0","_nodeVersion":"15.9.0","_npmVersion":"7.5.3","dist":{"shasum":"8fd5236f07aaa9676c4100a3e4d90b6b7aaabf4c","size":53391,"noattachment":false,"key":"/piscina/-/piscina-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-2.2.0.tgz"},"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_2.2.0_1614116486089_0.08233070973160439"},"_hasShrinkwrap":false,"publish_time":1614116486265,"_cnpm_publish_time":1614116486265,"_cnpmcore_publish_time":"2021-12-16T19:31:15.554Z"},"2.1.0":{"name":"piscina","version":"2.1.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^14.14.6","@typescript-eslint/eslint-plugin":"^4.6.1","@typescript-eslint/parser":"^4.6.1","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.0","snazzy":"^9.0.0","standardx":"^6.0.0","tap":"^14.10.8","typescript":"^4.0.5"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true,"AbortController":true,"MessageChannel":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","directories":{"example":"examples","test":"test"},"gitHead":"07dca659666320ff3662d257e7e524755b06e5ba","_id":"piscina@2.1.0","_nodeVersion":"15.3.0","_npmVersion":"7.0.14","dist":{"shasum":"947d937e0efd0de7a0e8bf10363c2e053c619413","size":53224,"noattachment":false,"key":"/piscina/-/piscina-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-2.1.0.tgz"},"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_2.1.0_1606950490721_0.6234631921026625"},"_hasShrinkwrap":false,"publish_time":1606950490875,"_cnpm_publish_time":1606950490875,"_cnpmcore_publish_time":"2021-12-16T19:31:15.881Z"},"2.0.0":{"name":"piscina","version":"2.0.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^14.14.6","@typescript-eslint/eslint-plugin":"^4.6.1","@typescript-eslint/parser":"^4.6.1","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.1.0","snazzy":"^9.0.0","standardx":"^6.0.0","tap":"^14.10.8","typescript":"^4.0.5"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^2.0.1","hdr-histogram-percentiles-obj":"^3.0.0","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","no-use-before-define":"off","no-unreachable-loop":"off","no-dupe-class-members":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"43f82e3c289e8fab3c0c4af396f44b152894b089","bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","_id":"piscina@2.0.0","_nodeVersion":"15.1.0","_npmVersion":"7.0.8","dist":{"shasum":"1ad07626e5fc3d2ef9c4978ac2ba6169af1e5351","size":52925,"noattachment":false,"key":"/piscina/-/piscina-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-2.0.0.tgz"},"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_2.0.0_1606268066462_0.7058028869281991"},"_hasShrinkwrap":false,"publish_time":1606268066627,"_cnpm_publish_time":1606268066627,"_cnpmcore_publish_time":"2021-12-16T19:31:16.154Z"},"1.6.3":{"name":"piscina","version":"1.6.3","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^14.0.19","@typescript-eslint/eslint-plugin":"^3.6.0","@typescript-eslint/parser":"^3.6.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.0.6","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.9.6"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"be9641310495ea8437fe0ac145f6ef3561e04793","bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","_id":"piscina@1.6.3","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"shasum":"1adfc09a835108561a8cdc7acfd2ab3119141155","size":51987,"noattachment":false,"key":"/piscina/-/piscina-1.6.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.6.3.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.6.3_1594307331527_0.3598362269530466"},"_hasShrinkwrap":false,"publish_time":1594307331647,"_cnpm_publish_time":1594307331647,"_cnpmcore_publish_time":"2021-12-16T19:31:16.602Z"},"1.6.2":{"name":"piscina","version":"1.6.2","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^14.0.6","@typescript-eslint/eslint-plugin":"^3.1.0","@typescript-eslint/parser":"^3.1.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.0.6","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.9.3"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"94328b5bfe1b1cf4ba9db0adf44f621a1961e606","bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","_id":"piscina@1.6.2","_nodeVersion":"14.3.0","_npmVersion":"6.14.5","dist":{"shasum":"19555e2283351f369cd22dc542cc4ca5654abb8b","size":51733,"noattachment":false,"key":"/piscina/-/piscina-1.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.6.2.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.6.2_1591047773535_0.7613200630033223"},"_hasShrinkwrap":false,"publish_time":1591047773655,"_cnpm_publish_time":1591047773655,"_cnpmcore_publish_time":"2021-12-16T19:31:17.444Z"},"1.6.1":{"name":"piscina","version":"1.6.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.5","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"710c9d693c486f1cca64d86c26103f7a825b51bf","bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","_id":"piscina@1.6.1","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"52e029d23e581a210b95fb33a9ac182cbe80c03e","size":51561,"noattachment":false,"key":"/piscina/-/piscina-1.6.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.6.1.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.6.1_1590537714837_0.2936484977439864"},"_hasShrinkwrap":false,"publish_time":1590537715093,"_cnpm_publish_time":1590537715093,"_cnpmcore_publish_time":"2021-12-16T19:31:17.714Z"},"1.6.0":{"name":"piscina","version":"1.6.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/piscinajs/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.5","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1","nice-napi":"^1.0.2"},"optionalDependencies":{"nice-napi":"^1.0.2"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"53cea90ab48160fea8bd1eed157e24f385c61cbc","bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"homepage":"https://github.com/piscinajs/piscina#readme","_id":"piscina@1.6.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"5fd2a572a39d438c129b5c916d08542a81688959","size":51112,"noattachment":false,"key":"/piscina/-/piscina-1.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.6.0.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.6.0_1590190590910_0.8551120965780703"},"_hasShrinkwrap":false,"publish_time":1590190591103,"_cnpm_publish_time":1590190591103,"_cnpmcore_publish_time":"2021-12-16T19:31:17.975Z"},"1.5.1":{"name":"piscina","version":"1.5.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.5","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","concat-stream":"^2.0.0","gen-esm-wrapper":"^1.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"184a5c643ccd402b195a7930b05abf2cb5a9000d","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.5.1","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"93565c65e9ab07780a49aef1f1ab230e24eb88f4","size":49507,"noattachment":false,"key":"/piscina/-/piscina-1.5.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.5.1.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.5.1_1590102530264_0.9525163765341822"},"_hasShrinkwrap":false,"publish_time":1590102530520,"_cnpm_publish_time":1590102530520,"_cnpmcore_publish_time":"2021-12-16T19:31:18.337Z"},"1.5.0":{"name":"piscina","version":"1.5.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.5","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","gen-esm-wrapper":"^1.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"fea49f2b3836bc3749a6f4998909b4962e4e5004","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.5.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"eb74239ca7cb96f30bcfd86e5cd9fddbb6275c08","size":47346,"noattachment":false,"key":"/piscina/-/piscina-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.5.0.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.5.0_1589664762493_0.4597588163681665"},"_hasShrinkwrap":false,"publish_time":1589664762605,"_cnpm_publish_time":1589664762605,"_cnpmcore_publish_time":"2021-12-16T19:31:18.640Z"},"1.4.0":{"name":"piscina","version":"1.4.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.5","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","gen-esm-wrapper":"^1.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"317d325a90044a6adadf4e1e01ac6d95b063cb76","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.4.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"3951d0fff018a7ad25ce484803605054bcd91e69","size":36748,"noattachment":false,"key":"/piscina/-/piscina-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.4.0.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.4.0_1589299386793_0.7620876641749856"},"_hasShrinkwrap":false,"publish_time":1589299386950,"_cnpm_publish_time":1589299386950,"_cnpmcore_publish_time":"2021-12-16T19:31:18.932Z"},"1.3.0":{"name":"piscina","version":"1.3.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.5","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","gen-esm-wrapper":"^1.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"eventemitter-asyncresource":"^1.0.0","hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"9441099a12c8dd3a05d1dfe5660c6cbd662967c1","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.3.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"shasum":"150d096fa58b14ae66879c6ff1b9b9c6d85ee1ae","size":36137,"noattachment":false,"key":"/piscina/-/piscina-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.3.0.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.3.0_1588997215065_0.35702253436123876"},"_hasShrinkwrap":false,"publish_time":1588997215212,"_cnpm_publish_time":1588997215212,"_cnpmcore_publish_time":"2021-12-16T19:31:19.196Z"},"1.2.1":{"name":"piscina","version":"1.2.1","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.5","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","gen-esm-wrapper":"^1.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"c0a671a3673cc1fc35a4e70d079c6c5338529fc3","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.2.1","_nodeVersion":"15.0.0-pre","_npmVersion":"6.14.4","dist":{"shasum":"a50d7cbd93b487de293dd8ae8dda06febd3565b1","size":41799,"noattachment":false,"key":"/piscina/-/piscina-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.2.1.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"addaleax","email":"anna@addaleax.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.2.1_1588800096312_0.6031975425065055"},"_hasShrinkwrap":false,"publish_time":1588800096425,"_cnpm_publish_time":1588800096425,"_cnpmcore_publish_time":"2021-12-16T19:31:19.473Z"},"1.2.0":{"name":"piscina","version":"1.2.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":{"import":"./dist/esm-wrapper.mjs","require":"./dist/src/index.js"},"types":"./dist/src/index.d.ts","scripts":{"build":"tsc && gen-esm-wrapper . dist/esm-wrapper.mjs","lint":"standardx \"**/*.{ts,mjs,js,cjs}\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.0","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","gen-esm-wrapper":"^1.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"e5c94c4296c55608dd3fc789bc8b3a604f354e91","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.2.0","_nodeVersion":"14.1.0","_npmVersion":"6.14.4","dist":{"shasum":"d279508c2da4228b3c68e23ae0ce945622cbc683","size":37259,"noattachment":false,"key":"/piscina/-/piscina-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.2.0.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.2.0_1588601351179_0.8854470764846927"},"_hasShrinkwrap":false,"publish_time":1588601351322,"_cnpm_publish_time":1588601351322,"_cnpmcore_publish_time":"2021-12-16T19:31:20.092Z"},"1.1.0":{"name":"piscina","version":"1.1.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":"./dist/src/index.js","types":"./dist/src/index.d.ts","scripts":{"build":"tsc","lint":"standardx \"**/*.ts\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.0","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"77e64fc1cf2a29d1fda93c91bc3f2c0e375d963d","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.1.0","_nodeVersion":"14.1.0","_npmVersion":"6.14.4","dist":{"shasum":"7cb51b10703061983c5fef9e99a2373d411cb3c8","size":34465,"noattachment":false,"key":"/piscina/-/piscina-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.1.0.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.1.0_1588372877353_0.980635759529692"},"_hasShrinkwrap":false,"publish_time":1588372877463,"_cnpm_publish_time":1588372877463,"_cnpmcore_publish_time":"2021-12-16T19:31:20.327Z"},"1.0.0":{"name":"piscina","version":"1.0.0","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./dist/src/index.js","exports":"./dist/src/index.js","types":"./dist/src/index.d.ts","scripts":{"build":"tsc","lint":"standardx \"**/*.ts\" | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"tap","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"jasnell@gmail.com"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"},{"name":"Matteo Collina","email":"matteo.collina@gmail.com"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.0","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","abort-controller":"^3.0.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"dependencies":{"hdr-histogram-js":"^1.2.0","hdr-histogram-percentiles-obj":"^2.0.1"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"6a46ee5009ce2a9fd6f23650240cbe56eab755df","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.0.0","_nodeVersion":"14.1.0","_npmVersion":"6.14.4","dist":{"shasum":"a4e579ff68bc7e4d100ba9bb0a88007b5b6fa7ff","size":33533,"noattachment":false,"key":"/piscina/-/piscina-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.0.0.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.0.0_1588356570874_0.9261067597954706"},"_hasShrinkwrap":false,"publish_time":1588356571077,"_cnpm_publish_time":1588356571077,"_cnpmcore_publish_time":"2021-12-16T19:31:20.686Z"},"1.0.0-pre":{"name":"piscina","version":"1.0.0-pre","description":"A fast, efficient Node.js Worker Thread Pool implementation","main":"./build/src/index.js","scripts":{"build":"tsc","lint":"standardx **/*.ts | snazzy","test":"npm run lint && npm run build && npm run test-only","test-only":"TS_NODE_PROJECT=test/tsconfig.json tap --ts --no-browser --coverage-report=html --100 test/*.ts","prepack":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/jasnell/piscina.git"},"keywords":["fast","worker threads","thread pool","wade wilson"],"author":{"name":"James M Snell","email":"piscina@jasnell.me"},"contributors":[{"name":"Anna Henningsen","email":"anna@addaleax.net"}],"license":"MIT","devDependencies":{"@types/node":"^13.13.0","@typescript-eslint/eslint-plugin":"^2.28.0","@typescript-eslint/parser":"^2.28.0","snazzy":"^8.0.0","standardx":"^5.0.0","tap":"^14.10.7","typescript":"^3.8.3"},"eslintConfig":{"rules":{"semi":["error","always"],"no-unused-vars":"off","@typescript-eslint/no-unused-vars":"error"},"globals":{"SharedArrayBuffer":true,"Atomics":true}},"standardx":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint/eslint-plugin"]},"gitHead":"cfd7eea4ac8f3a7a46a0504e76be649f4740a4a0","bugs":{"url":"https://github.com/jasnell/piscina/issues"},"homepage":"https://github.com/jasnell/piscina#readme","_id":"piscina@1.0.0-pre","_nodeVersion":"14.0.0","_npmVersion":"6.14.4","dist":{"shasum":"c7f09d86380f2c145ced26caebb792e855e20813","size":4293,"noattachment":false,"key":"/piscina/-/piscina-1.0.0-pre.tgz","tarball":"http://registry.cnpm.dingdandao.com/piscina/download/piscina-1.0.0-pre.tgz"},"maintainers":[{"name":"addaleax","email":"anna@addaleax.net"},{"name":"jasnell","email":""},{"name":"matteo.collina","email":""},{"name":"metcoder95","email":""},{"name":"qard","email":"admin@stephenbelanger.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"}],"_npmUser":{"name":"jasnell","email":"jasnell@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/piscina_1.0.0-pre_1588186408845_0.8749376493329231"},"_hasShrinkwrap":false,"publish_time":1588186408968,"_cnpm_publish_time":1588186408968,"_cnpmcore_publish_time":"2021-12-16T19:31:20.889Z"}},"readme":"![Piscina Logo](https://avatars1.githubusercontent.com/u/65627548?s=200&v=4)\n\n# piscina - the node.js worker pool\n\n![CI](https://github.com/jasnell/piscina/workflows/CI/badge.svg)\n\n- ✔ Fast communication between threads\n- ✔ Covers both fixed-task and variable-task scenarios\n- ✔ Supports flexible pool sizes\n- ✔ Proper async tracking integration\n- ✔ Tracking statistics for run and wait times\n- ✔ Cancellation Support\n- ✔ Supports enforcing memory resource limits\n- ✔ Supports CommonJS, ESM, and TypeScript\n- ✔ Custom task queues\n- ✔ Optional CPU scheduling priorities on Linux\n\nWritten in TypeScript.\n\nFor Node.js 20.x and higher.\n\n[MIT Licensed][].\n\n## Documentation\n\n- [Website](https://piscinajs.github.io/piscina/)\n\n- [piscina - the node.js worker pool](#piscina---the-nodejs-worker-pool)\n  - [Documentation](#documentation)\n  - [Piscina API](#piscina-api)\n    - [Example](#example)\n    - [Exporting multiple worker functions](#exporting-multiple-worker-functions)\n    - [Cancelable Tasks](#cancelable-tasks)\n    - [Delaying Availability of Workers](#delaying-availability-of-workers)\n    - [Backpressure](#backpressure)\n    - [Out of scope asynchronous code](#out-of-scope-asynchronous-code)\n    - [Broadcast a message to all worker threads](#broadcast-a-message-to-all-worker-threads)\n    - [Additional Examples](#additional-examples)\n  - [Class: `Piscina`](#class-piscina)\n    - [Constructor: `new Piscina([options])`](#constructor-new-piscinaoptions)\n    - [Method: `run(task[, options])`](#method-runtask-options)\n    - [Method: `destroy()`](#method-destroy)\n    - [Method: `close([options])`](#method-closeoptions)\n    - [Event: `'error'`](#event-error)\n    - [Event: `'drain'`](#event-drain)\n    - [Event: `'needsDrain'`](#event-needsdrain)\n    - [Event: `'message'`](#event-message)\n    - [Property: `completed` (readonly)](#property-completed-readonly)\n    - [Property: `duration` (readonly)](#property-duration-readonly)\n    - [Property: `options` (readonly)](#property-options-readonly)\n    - [Property: `runTime` (readonly)](#property-runtime-readonly)\n    - [Property: `threads` (readonly)](#property-threads-readonly)\n    - [Property: `queueSize` (readonly)](#property-queuesize-readonly)\n    - [Property: `needsDrain` (readonly)](#property-needsdrain-readonly)\n    - [Property: `utilization` (readonly)](#property-utilization-readonly)\n    - [Property: `waitTime` (readonly)](#property-waittime-readonly)\n    - [Static property: `isWorkerThread` (readonly)](#static-property-isworkerthread-readonly)\n    - [Static property: `version` (readonly)](#static-property-version-readonly)\n    - [Static method: `move(value)`](#static-method-movevalue)\n      - [Interface: `Transferable`](#interface-transferable)\n  - [Custom Task Queues](#custom-task-queues)\n    - [Built-In Queues](#built-in-queues)\n      - [Using FixedQueue Example](#using-fixedqueue-example)\n  - [Current Limitations (Things we're working on / would love help with)](#current-limitations-things-were-working-on--would-love-help-with)\n  - [Performance Notes](#performance-notes)\n    - [Queue Size](#queue-size)\n    - [Queue Pressure and Idle Threads](#queue-pressure-and-idle-threads)\n    - [Thread priority on Linux systems](#thread-priority-on-linux-systems)\n    - [Multiple Thread Pools and Embedding Piscina as a Dependency](#multiple-thread-pools-and-embedding-piscina-as-a-dependency)\n  - [The Team](#the-team)\n  - [Acknowledgements](#acknowledgements)\n  - [Sponsors](#sponsors)\n    - [Bronze Sponsors](#bronze-sponsors)\n  - [Resources](#resources)\n\n## Piscina API\n\n### Example\n\nIn `main.js`:\n\n```js\nconst path = require(\"path\");\nconst Piscina = require(\"piscina\");\n\nconst piscina = new Piscina({\n  filename: path.resolve(__dirname, \"worker.js\"),\n});\n\n(async function () {\n  const result = await piscina.run({ a: 4, b: 6 });\n  console.log(result); // Prints 10\n})();\n```\n\nIn `worker.js`:\n\n```js\nmodule.exports = ({ a, b }) => {\n  return a + b;\n};\n```\n\nThe worker may also be an async function or may return a Promise:\n\n```js\nconst { setTimeout } = require(\"timers/promises\");\n\nmodule.exports = async ({ a, b }) => {\n  // Fake some async activity\n  await setTimeout(100);\n  return a + b;\n};\n```\n\nESM is also supported for both Piscina and workers:\n\n```js\nimport { Piscina } from \"piscina\";\n\nconst piscina = new Piscina({\n  // The URL must be a file:// URL\n  filename: new URL(\"./worker.mjs\", import.meta.url).href,\n});\n\nconst result = await piscina.run({ a: 4, b: 6 });\nconsole.log(result); // Prints 10\n```\n\nIn `worker.mjs`:\n\n```js\nexport default ({ a, b }) => {\n  return a + b;\n};\n```\n\n### Exporting multiple worker functions\n\nA single worker file may export multiple named handler functions.\n\n```js\n\"use strict\";\n\nfunction add({ a, b }) {\n  return a + b;\n}\n\nfunction multiply({ a, b }) {\n  return a * b;\n}\n\nadd.add = add;\nadd.multiply = multiply;\n\nmodule.exports = add;\n```\n\nThe export to target can then be specified when the task is submitted:\n\n```js\n\"use strict\";\n\nconst Piscina = require(\"piscina\");\nconst { resolve } = require(\"path\");\n\nconst piscina = new Piscina({\n  filename: resolve(__dirname, \"worker.js\"),\n});\n\n(async function () {\n  const res = await Promise.all([\n    piscina.run({ a: 4, b: 6 }, { name: \"add\" }),\n    piscina.run({ a: 4, b: 6 }, { name: \"multiply\" }),\n  ]);\n})();\n```\n\n### Cancelable Tasks\n\nSubmitted tasks may be canceled using either an `AbortController` or\nan `EventEmitter`:\n\n```js\n\"use strict\";\n\nconst Piscina = require(\"piscina\");\nconst { resolve } = require(\"path\");\n\nconst piscina = new Piscina({\n  filename: resolve(__dirname, \"worker.js\"),\n});\n\n(async function () {\n  const abortController = new AbortController();\n  try {\n    const { signal } = abortController;\n    const task = piscina.run({ a: 4, b: 6 }, { signal });\n    abortController.abort();\n    await task;\n  } catch (err) {\n    console.log(\"The task was canceled\");\n  }\n})();\n```\n\nAlternatively, any `EventEmitter` that emits an `'abort'` event\nmay be used as an abort controller:\n\n```js\n\"use strict\";\n\nconst Piscina = require(\"piscina\");\nconst EventEmitter = require(\"events\");\nconst { resolve } = require(\"path\");\n\nconst piscina = new Piscina({\n  filename: resolve(__dirname, \"worker.js\"),\n});\n\n(async function () {\n  const ee = new EventEmitter();\n  try {\n    const task = piscina.run({ a: 4, b: 6 }, { signal: ee });\n    ee.emit(\"abort\");\n    await task;\n  } catch (err) {\n    console.log(\"The task was canceled\");\n  }\n})();\n```\n\n### Delaying Availability of Workers\n\nA worker thread will not be made available to process tasks until Piscina\ndetermines that it is \"ready\". By default, a worker is ready as soon as\nPiscina loads it and acquires a reference to the exported handler function.\n\nThere may be times when the availability of a worker may need to be delayed\nlonger while the worker initializes any resources it may need to operate.\nTo support this case, the worker module may export a `Promise` that resolves\nthe handler function as opposed to exporting the function directly:\n\n```js\nasync function initialize() {\n  await someAsyncInitializationActivity();\n  return ({ a, b }) => a + b;\n}\n\nmodule.exports = initialize();\n```\n\nPiscina will await the resolution of the exported Promise before marking\nthe worker thread available.\n\n### Backpressure\n\nWhen the `maxQueue` option is set, once the `Piscina` queue is full, no\nadditional tasks may be submitted until the queue size falls below the\nlimit. The `'drain'` event may be used to receive notification when the\nqueue is empty and all tasks have been submitted to workers for processing.\n\nExample: Using a Node.js stream to feed a Piscina worker pool:\n\n```js\n\"use strict\";\n\nconst { resolve } = require(\"path\");\nconst Pool = require(\"../..\");\n\nconst pool = new Pool({\n  filename: resolve(__dirname, \"worker.js\"),\n  maxQueue: \"auto\",\n});\n\nconst stream = getStreamSomehow();\nstream.setEncoding(\"utf8\");\n\npool.on(\"drain\", () => {\n  if (stream.isPaused()) {\n    console.log(\"resuming...\", counter, pool.queueSize);\n    stream.resume();\n  }\n});\n\nstream\n  .on(\"data\", (data) => {\n    pool.run(data);\n    if (pool.queueSize === pool.options.maxQueue) {\n      console.log(\"pausing...\", counter, pool.queueSize);\n      stream.pause();\n    }\n  })\n  .on(\"error\", console.error)\n  .on(\"end\", () => {\n    console.log(\"done\");\n  });\n```\n\n### Out of scope asynchronous code\n\nA worker thread is **only** active until the moment it returns a result, it can be a result of a synchronous call or a Promise that will be fulfilled/rejected in the future. Once this is done, Piscina will wait for stdout and stderr to be flushed, and then pause the worker's event-loop until the next call. If async code is scheduled without being awaited before returning since Piscina has no way of detecting this, that code execution will be resumed on the next call. Thus, it is highly recommended to properly handle all async tasks before returning a result as it could make your code unpredictable.\n\nFor example:\n\n```js\nconst { setTimeout } = require(\"timers/promises\");\n\nmodule.exports = ({ a, b }) => {\n  // This promise should be awaited\n  setTimeout(1000).then(() => {\n    console.log(\"Working\"); // This will **not** run during the same worker call\n  });\n\n  return a + b;\n};\n```\n\n### Broadcast a message to all worker threads\n\nPiscina supports broadcast communication via BroadcastChannel(Node v18+). Here is an example, the main thread sends a message, and other threads the receive message.\n\nIn `main.js`\n\n```js\n\"use strict\";\n\nconst { BroadcastChannel } = require(\"worker_threads\");\nconst { resolve } = require(\"path\");\n\nconst Piscina = require(\"piscina\");\nconst piscina = new Piscina({\n  filename: resolve(__dirname, \"worker.js\"),\n  atomics: \"disabled\",\n});\n\nasync function main() {\n  const bc = new BroadcastChannel(\"my_channel\");\n  // start worker\n  Promise.all([piscina.run(\"thread 1\"), piscina.run(\"thread 2\")]);\n  // post message in one second\n  setTimeout(() => {\n    bc.postMessage(\"Main thread message\");\n  }, 1000);\n}\n\nmain();\n```\n\nIn `worker.js`\n\n```js\n\"use strict\";\nconst { BroadcastChannel } = require(\"worker_threads\");\n\nmodule.exports = async (thread) => {\n  const bc = new BroadcastChannel(\"my_channel\");\n  bc.onmessage = (event) => {\n    console.log(thread + \" Received from:\" + event.data);\n  };\n  await new Promise((resolve) => {\n    setTimeout(resolve, 2000);\n  });\n};\n```\n\n### Additional Examples\n\nAdditional examples can be found in the GitHub repo at\nhttps://github.com/piscinajs/piscina/tree/master/examples\n\n## Class: `Piscina`\n\nPiscina works by creating a pool of Node.js Worker Threads to which\none or more tasks may be dispatched. Each worker thread executes a\nsingle exported function defined in a separate file. Whenever a\ntask is dispatched to a worker, the worker invokes the exported\nfunction and reports the return value back to Piscina when the\nfunction completes.\n\nThis class extends [`EventEmitter`][] from Node.js.\n\n### Constructor: `new Piscina([options])`\n\n- The following optional configuration is supported:\n\n  - `filename`: (`string | null`) Provides the default source for the code that\n    runs the tasks on Worker threads. This should be an absolute path or an\n    absolute `file://` URL to a file that exports a JavaScript `function` or\n    `async function` as its default export or `module.exports`. [ES modules][]\n    are supported.\n  - `name`: (`string | null`) Provides the name of the default exported worker\n    function. The default is `'default'`, indicating the default export of the\n    worker module.\n  - `minThreads`: (`number`) Sets the minimum number of threads that are always\n    running for this thread pool. The default is the number provided by [`os.availableParallelism`](https://nodejs.org/api/os.html#osavailableparallelism).\n  - `maxThreads`: (`number`) Sets the maximum number of threads that are\n    running for this thread pool. The default is the number provided by [`os.availableParallelism`](https://nodejs.org/api/os.html#osavailableparallelism) \\* 1.5.\n  - `idleTimeout`: (`number`) A timeout in milliseconds that specifies how long\n    a `Worker` is allowed to be idle, i.e. not handling any tasks, before it is\n    shut down. By default, this is immediate. If `Infinity` is passed as the value,\n    the `Worker` never shuts down. Be careful when using `Infinity`,\n    as it can lead to resource overuse. **Tip**: _The default `idleTimeout`\n    can lead to some performance loss in the application because of the overhead\n    involved with stopping and starting new worker threads. To improve performance,\n    try setting the `idleTimeout` explicitly._\n  - `maxQueue`: (`number` | `string`) The maximum number of tasks that may be\n    scheduled to run, but not yet running due to lack of available threads, at\n    a given time. By default, there is no limit. The special value `'auto'`\n    may be used to have Piscina calculate the maximum as the square of `maxThreads`.\n    When `'auto'` is used, the calculated `maxQueue` value may be found by checking\n    the [`options.maxQueue`](#property-options-readonly) property.\n  - `concurrentTasksPerWorker`: (`number`) Specifies how many tasks can share\n    a single Worker thread simultaneously. The default is `1`. This generally\n    only makes sense to specify if there is some kind of asynchronous component\n    to the task. Keep in mind that Worker threads are generally not built for\n    handling I/O in parallel.\n  - `atomics`: (`sync` | `async` | `disabled`) Use the [`Atomics`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics) API for faster communication\n    between threads. This is on by default. You can disable `Atomics` globally by\n    setting the environment variable `PISCINA_DISABLE_ATOMICS` to `1` .\n    If `atomics` is `sync`, it will cause to pause threads (stoping all execution)\n    between tasks. Ideally, threads should wait for all operations to finish before\n    returning control to the main thread (avoid having open handles within a thread). If still want to have the possibility\n    of having open handles or handle asynchrnous tasks, you can set the environment variable `PISCINA_ENABLE_ASYNC_ATOMICS` to `1` or setting `options.atomics` to `async`.\n\n  > **Note**: The `async` mode comes with performance penalties and can lead to undesired behaviour if open handles are not tracked correctly.\n\n  - `resourceLimits`: (`object`) See [Node.js new Worker options][]\n    - `maxOldGenerationSizeMb`: (`number`) The maximum size of each worker threads\n      main heap in MB.\n    - `maxYoungGenerationSizeMb`: (`number`) The maximum size of a heap space for\n      recently created objects.\n    - `codeRangeSizeMb`: (`number`) The size of a pre-allocated memory range used\n      for generated code.\n    - `stackSizeMb` : (`number`) The default maximum stack size for the thread.\n      Small values may lead to unusable Worker instances. Default: 4\n  - `env`: (`object`) If set, specifies the initial value of `process.env` inside\n    the worker threads. See [Node.js new Worker options][] for details.\n  - `argv`: (`any[]`) List of arguments that will be stringified and appended to\n    `process.argv` in the worker. See [Node.js new Worker options][] for details.\n  - `execArgv`: (`string[]`) List of Node.js CLI options passed to the worker.\n    See [Node.js new Worker options][] for details.\n  - `workerData`: (`any`) Any JavaScript value that can be cloned and made\n    available as `require('piscina').workerData`. See [Node.js new Worker options][]\n    for details. Unlike regular Node.js Worker Threads, `workerData` must not\n    specify any value requiring a `transferList`. This is because the `workerData`\n    will be cloned for each pooled worker.\n  - `taskQueue`: (`TaskQueue`) By default, Piscina uses a first-in-first-out\n    queue for submitted tasks. The `taskQueue` option can be used to provide an\n    alternative implementation. See [Custom Task Queues][] for additional detail.\n  - `niceIncrement`: (`number`) An optional value that decreases priority for\n    the individual threads, i.e. the higher the value, the lower the priority\n    of the Worker threads. This value is used on Unix/Windows and requires the\n    optional [`@napi-rs/nice`][https://www.npmjs.com/package/@napi-rs/nice] module to be installed.\n    See [`nice(2)`][https://linux.die.net/man/2/nice] for more details.\n  - `trackUnmanagedFds`: (`boolean`) An optional setting that, when `true`, will\n    cause Workers to track file descriptors managed using `fs.open()` and\n    `fs.close()`, and will close them automatically when the Worker exits.\n    Defaults to `true`. (This option is only supported on Node.js 12.19+ and\n    all Node.js versions higher than 14.6.0).\n  - `closeTimeout`: (`number`) An optional time (in milliseconds) to wait for the pool to\n    complete all in-flight tasks when `close()` is called. The default is `30000`\n  - `recordTiming`: (`boolean`) By default, run and wait time will be recorded\n    for the pool. To disable, set to `false`.\n\nUse caution when setting resource limits. Setting limits that are too low may\nresult in the `Piscina` worker threads being unusable.\n\n### Method: `run(task[, options])`\n\nSchedules a task to be run on a Worker thread.\n\n- `task`: Any value. This will be passed to the function that is exported from\n  `filename`.\n- `options`:\n  - `transferList`: An optional lists of objects that is passed to\n    [`postMessage()`] when posting `task` to the Worker, which are transferred\n    rather than cloned.\n  - `filename`: Optionally overrides the `filename` option passed to the\n    constructor for this task. If no `filename` was specified to the constructor,\n    this is mandatory.\n  - `name`: Optionally overrides the exported worker function used for the task.\n  - `signal`: An [`AbortSignal`][] instance. If passed, this can be used to\n    cancel a task. If the task is already running, the corresponding `Worker`\n    thread will be stopped.\n    (More generally, any `EventEmitter` or `EventTarget` that emits `'abort'`\n    events can be passed here.) Abortable tasks cannot share threads regardless\n    of the `concurrentTasksPerWorker` options.\n\nThis returns a `Promise` for the return value of the (async) function call\nmade to the function exported from `filename`. If the (async) function throws\nan error, the returned `Promise` will be rejected with that error.\nIf the task is aborted, the returned `Promise` is rejected with an error\nas well.\n\n### Method: `destroy()`\n\nStops all Workers and rejects all `Promise`s for pending tasks.\n\nThis returns a `Promise` that is fulfilled once all threads have stopped.\n\n### Method: `close([options])`\n\n- `options`:\n  - `force`: A `boolean` value that indicates whether to abort all tasks that\n    are enqueued but not started yet. The default is `false`.\n\nStops all Workers gracefully.\n\nThis returns a `Promise` that is fulfilled once all tasks that were started\nhave completed and all threads have stopped.\n\nThis method is similar to `destroy()`, but with the difference that `close()`\nwill wait for the worker tasks to finish, while `destroy()`\nwill abort them immediately.\n\n### Event: `'error'`\n\nAn `'error'` event is emitted by instances of this class when:\n\n- Uncaught exceptions occur inside Worker threads that do not currently handle\n  tasks.\n- Unexpected messages are sent from from Worker threads.\n\nAll other errors are reported by rejecting the `Promise` returned from\n`run()`, including rejections reported by the handler function\nitself.\n\n### Event: `'drain'`\n\nA `'drain'` event is emitted when the current usage of the\npool is below the maximum capacity of the same.\nThe intended goal is to provide backpressure to the task source\nso creating tasks that can not be executed at immediately can be avoided.\n\n### Event: `'needsDrain'`\n\nSimilar to [`Piscina#needsDrain`](#property-needsdrain-readonly);\nthis event is triggered once the total capacity of the pool is exceeded\nby number of tasks enqueued that are pending of execution.\n\n### Event: `'message'`\n\nA `'message'` event is emitted whenever a message is received from a worker thread.\n\n### Property: `completed` (readonly)\n\nThe current number of completed tasks.\n\n### Property: `duration` (readonly)\n\nThe length of time (in milliseconds) since this `Piscina` instance was\ncreated.\n\n### Property: `options` (readonly)\n\nA copy of the options that are currently being used by this instance. This\nobject has the same properties as the options object passed to the constructor.\n\n### Property: `runTime` (readonly)\n\nA histogram summary object summarizing the collected run times of completed\ntasks. All values are expressed in milliseconds.\n\n- `runTime.average` {`number`} The average run time of all tasks\n- `runTime.mean` {`number`} The mean run time of all tasks\n- `runTime.stddev` {`number`} The standard deviation of collected run times\n- `runTime.min` {`number`} The fastest recorded run time\n- `runTime.max` {`number`} The slowest recorded run time\n\nAll properties following the pattern `p{N}` where N is a number (e.g. `p1`, `p99`)\nrepresent the percentile distributions of run time observations. For example,\n`p99` is the 99th percentile indicating that 99% of the observed run times were\nfaster or equal to the given value.\n\n```js\n{\n  average: 1880.25,\n  mean: 1880.25,\n  stddev: 1.93,\n  min: 1877,\n  max: 1882.0190887451172,\n  p0_001: 1877,\n  p0_01: 1877,\n  p0_1: 1877,\n  p1: 1877,\n  p2_5: 1877,\n  p10: 1877,\n  p25: 1877,\n  p50: 1881,\n  p75: 1881,\n  p90: 1882,\n  p97_5: 1882,\n  p99: 1882,\n  p99_9: 1882,\n  p99_99: 1882,\n  p99_999: 1882\n}\n```\n\n### Property: `threads` (readonly)\n\nAn Array of the `Worker` instances used by this pool.\n\n### Property: `queueSize` (readonly)\n\nThe current number of tasks waiting to be assigned to a Worker thread.\n\n### Property: `needsDrain` (readonly)\n\nBoolean value that specifies whether the capacity of the pool has\nbeen exceeded by the number of tasks submitted.\n\nThis property is helpful to make decisions towards creating backpressure\nover the number of tasks submitted to the pool.\n\n### Property: `utilization` (readonly)\n\nA point-in-time ratio comparing the approximate total mean run time\nof completed tasks to the total runtime capacity of the pool.\n\nA pools runtime capacity is determined by multiplying the `duration`\nby the `options.maxThread` count. This provides an absolute theoretical\nmaximum aggregate compute time that the pool would be capable of.\n\nThe approximate total mean run time is determined by multiplying the\nmean run time of all completed tasks by the total number of completed\ntasks. This number represents the approximate amount of time the\npool as been actively processing tasks.\n\nThe utilization is then calculated by dividing the approximate total\nmean run time by the capacity, yielding a fraction between `0` and `1`.\n\n### Property: `waitTime` (readonly)\n\nA histogram summary object summarizing the collected times tasks spent\nwaiting in the queue. All values are expressed in milliseconds.\n\n- `waitTime.average` {`number`} The average wait time of all tasks\n- `waitTime.mean` {`number`} The mean wait time of all tasks\n- `waitTime.stddev` {`number`} The standard deviation of collected wait times\n- `waitTime.min` {`number`} The fastest recorded wait time\n- `waitTime.max` {`number`} The longest recorded wait time\n\nAll properties following the pattern `p{N}` where N is a number (e.g. `p1`, `p99`)\nrepresent the percentile distributions of wait time observations. For example,\n`p99` is the 99th percentile indicating that 99% of the observed wait times were\nfaster or equal to the given value.\n\n```js\n{\n  average: 1880.25,\n  mean: 1880.25,\n  stddev: 1.93,\n  min: 1877,\n  max: 1882.0190887451172,\n  p0_001: 1877,\n  p0_01: 1877,\n  p0_1: 1877,\n  p1: 1877,\n  p2_5: 1877,\n  p10: 1877,\n  p25: 1877,\n  p50: 1881,\n  p75: 1881,\n  p90: 1882,\n  p97_5: 1882,\n  p99: 1882,\n  p99_9: 1882,\n  p99_99: 1882,\n  p99_999: 1882\n}\n```\n\n### Static property: `isWorkerThread` (readonly)\n\nIs `true` if this code runs inside a `Piscina` threadpool as a Worker.\n\n### Static property: `version` (readonly)\n\nProvides the current version of this library as a semver string.\n\n### Static method: `move(value)`\n\nBy default, any value returned by a worker function will be cloned when\nreturned back to the Piscina pool, even if that object is capable of\nbeing transfered. The `Piscina.move()` method can be used to wrap and\nmark transferable values such that they will by transfered rather than\ncloned.\n\nThe `value` may be any object supported by Node.js to be transferable\n(e.g. `ArrayBuffer`, any `TypedArray`, or `MessagePort`), or any object\nimplementing the `Transferable` interface.\n\n```js\nconst { move } = require(\"piscina\");\n\nmodule.exports = () => {\n  return move(new ArrayBuffer(10));\n};\n```\n\nThe `move()` method will throw if the `value` is not transferable.\n\nThe object returned by the `move()` method should not be set as a\nnested value in an object. If it is used, the `move()` object itself\nwill be cloned as opposed to transfering the object it wraps.\n\n#### Interface: `Transferable`\n\nObjects may implement the `Transferable` interface to create their own\ncustom transferable objects. This is useful when an object being\npassed into or from a worker contains a deeply nested transferable\nobject such as an `ArrayBuffer` or `MessagePort`.\n\n`Transferable` objects expose two properties inspected by Piscina\nto determine how to transfer the object. These properties are\nnamed using the special static `Piscina.transferableSymbol` and\n`Piscina.valueSymbol` properties:\n\n- The `Piscina.transferableSymbol` property provides the object\n  (or objects) that are to be included in the `transferList`.\n\n- The `Piscina.valueSymbol` property provides a surrogate value\n  to transmit in place of the `Transferable` itself.\n\nBoth properties are required.\n\nFor example,\n\n```js\nconst {\n  move,\n  transferableSymbol,\n  valueSymbol\n} = require('piscina');\n\nmodule.exports = () => {\n  const obj = {\n    a: { b: new Uint8Array(5); },\n    c: { new Uint8Array(10); },\n\n    get [transferableSymbol]() {\n      // Transfer the two underlying ArrayBuffers\n      return [this.a.b.buffer, this.c.buffer];\n    }\n\n    get [valueSymbol]() {\n      return { a: { b: this.a.b }, c: this.c };\n    }\n  };\n  return move(obj);\n};\n```\n\n## Custom Task Queues\n\nBy default, Piscina uses a simple array-based first-in-first-out (fifo)\ntask queue. When a new task is submitted and there are no available\nworkers, tasks are pushed on to the queue until a worker becomes\navailable.\n\nIf the default fifo queue is not sufficient, user code may replace the\ntask queue implementation with a custom implementation using the\n`taskQueue` option on the Piscina constructor.\n\nCustom task queue objects _must_ implement the `TaskQueue` interface,\ndescribed below using TypeScript syntax:\n\n```ts\ninterface Task {\n  readonly [Piscina.queueOptionsSymbol]: object | null;\n}\n\ninterface TaskQueue {\n  readonly size: number;\n  shift(): Task | null;\n  remove(task: Task): void;\n  push(task: Task): void;\n}\n```\n\nAn example of a custom task queue that uses a shuffled priority queue\nis available in [`examples/task-queue`](./examples/task-queue/index.js);\n\nThe special symbol `Piscina.queueOptionsSymbol` may be set as a property\non tasks submitted to `run()` as a way of passing additional\noptions on to the custom `TaskQueue` implementation. (Note that because the\nqueue options are set as a property on the task, tasks with queue\noptions cannot be submitted as JavaScript primitives).\n\n### Built-In Queues\n\nPiscina also provides the `FixedQueue`, a more performant task queue implementation based on [`FixedQueue`](https://github.com/nodejs/node/blob/de7b37880f5a541d5f874c1c2362a65a4be76cd0/lib/internal/fixed_queue.js) from Node.js project.\n\nHere are some benchmarks to compare new `FixedQueue` with `ArrayTaskQueue` (current default). The benchmarks demonstrate substantial improvements in push and shift operations, especially with larger queue sizes.\n\n```\nQueue size = 1000\n┌─────────┬─────────────────────────────────────────┬───────────┬────────────────────┬──────────┬─────────┐\n│ (index) │ Task Name                               │ ops/sec   │ Average Time (ns)  │ Margin   │ Samples │\n├─────────┼─────────────────────────────────────────┼───────────┼────────────────────┼──────────┼─────────┤\n│ 0       │ 'ArrayTaskQueue full push + full shift' │ '9 692'   │ 103175.15463917515 │ '±0.80%' │ 970     │\n│ 1       │ 'FixedQueue  full push + full shift'    │ '131 879' │ 7582.696390658352  │ '±1.81%' │ 13188   │\n└─────────┴─────────────────────────────────────────┴───────────┴────────────────────┴──────────┴─────────┘\n\nQueue size = 100_000\n┌─────────┬─────────────────────────────────────────┬─────────┬────────────────────┬──────────┬─────────┐\n│ (index) │ Task Name                               │ ops/sec │ Average Time (ns)  │ Margin   │ Samples │\n├─────────┼─────────────────────────────────────────┼─────────┼────────────────────┼──────────┼─────────┤\n│ 0       │ 'ArrayTaskQueue full push + full shift' │ '0'     │ 1162376920.0000002 │ '±1.77%' │ 10      │\n│ 1       │ 'FixedQueue full push + full shift'     │ '1 026' │ 974328.1553396407  │ '±2.51%' │ 103     │\n└─────────┴─────────────────────────────────────────┴─────────┴────────────────────┴──────────┴─────────┘\n```\n\nIn terms of Piscina performance itself, using `FixedQueue` with a queue size of 100,000 queued tasks can result in up to 6 times faster execution times.\n\nUsers can import `FixedQueue` from the `Piscina` package and pass it as the `taskQueue` option to leverage its benefits.\n\n#### Using FixedQueue Example\n\nHere's an example of how to use the `FixedQueue`:\n\n```js\nconst { Piscina, FixedQueue } = require(\"piscina\");\nconst { resolve } = require(\"path\");\n\n// Create a Piscina pool with FixedQueue\nconst piscina = new Piscina({\n  filename: resolve(__dirname, \"worker.js\"),\n  taskQueue: new FixedQueue(),\n});\n\n// Submit tasks to the pool\nfor (let i = 0; i < 10; i++) {\n  piscina\n    .run({ data: i })\n    .then((result) => {\n      console.log(result);\n    })\n    .catch((error) => {\n      console.error(error);\n    });\n}\n```\n\n## Current Limitations (Things we're working on / would love help with)\n\n- Improved Documentation\n- Benchmarks\n\n## Performance Notes\n\nWorkers are generally optimized for offloading synchronous,\ncompute-intensive operations off the main Node.js event loop thread.\nWhile it is possible to perform asynchronous operations and I/O\nwithin a Worker, the performance advantages of doing so will be\nminimal.\n\nSpecifically, it is worth noting that asynchronous operations\nwithin Node.js, including I/O such as file system operations\nor CPU-bound tasks such as crypto operations or compression\nalgorithms, are already performed in parallel by Node.js and\nlibuv on a per-process level. This means that there will be\nlittle performance impact on moving such async operations into\na Piscina worker (see examples/scrypt for example).\n\n### Queue Size\n\nPiscina provides the ability to configure the minimum and\nmaximum number of worker threads active in the pool, as well as\nset limits on the number of tasks that may be queued up waiting\nfor a free worker. It is important to note that setting the\n`maxQueue` size too high relative to the number of worker threads\ncan have a detrimental impact on performance and memory usage.\nSetting the `maxQueue` size too small can also be problematic\nas doing so could cause your worker threads to become idle and\nbe shutdown. Our testing has shown that a `maxQueue` size of\napproximately the square of the maximum number of threads is\ngenerally sufficient and performs well for many cases, but this\nwill vary significantly depending on your workload. It will be\nimportant to test and benchmark your worker pools to ensure you've\neffectively balanced queue wait times, memory usage, and worker\npool utilization.\n\n### Queue Pressure and Idle Threads\n\nThe thread pool maintained by Piscina has both a minimum and maximum\nlimit to the number of threads that may be created. When a Piscina\ninstance is created, it will spawn the minimum number of threads\nimmediately, then create additional threads as needed up to the\nlimit set by `maxThreads`. Whenever a worker completes a task, a\ncheck is made to determine if there is additional work for it to\nperform. If there is no additional work, the thread is marked idle.\nBy default, idle threads are shutdown immediately, with Piscina\nensuring that the pool always maintains at least the minimum.\n\nWhen a Piscina pool is processing a stream of tasks (for instance,\nprocessing http server requests as in the React server-side\nrendering example in examples/react-ssr), if the rate in which\nnew tasks are received and queued is not sufficient to keep workers\nfrom going idle and terminating, the pool can experience a thrashing\neffect -- excessively creating and terminating workers that will\ncause a net performance loss. There are a couple of strategies to\navoid this churn:\n\nStrategy 1: Ensure that the queue rate of new tasks is sufficient to\nkeep workers from going idle. We refer to this as \"queue pressure\".\nIf the queue pressure is too low, workers will go idle and terminate.\nIf the queue pressure is too high, tasks will stack up, experience\nincreased wait latency, and consume additional memory.\n\nStrategy 2: Increase the `idleTimeout` configuration option. By\ndefault, idle threads terminate immediately. The `idleTimeout` option\ncan be used to specify a longer period of time to wait for additional\ntasks to be submitted before terminating the worker. If the queue\npressure is not maintained, this could result in workers sitting idle\nbut those will have less of a performance impact than the thrashing\nthat occurs when threads are repeatedly terminated and recreated.\n\nStrategy 3: Increase the `minThreads` configuration option. This has\nthe same basic effect as increasing the `idleTimeout`. If the queue\npressure is not high enough, workers may sit idle indefinitely but\nthere will be less of a performance hit.\n\nIn applications using Piscina, it will be most effective to use a\ncombination of these three approaches and tune the various configuration\nparameters to find the optimum combination both for the application\nworkload and the capabilities of the deployment environment. There\nare no one set of options that are going to work best.\n\n### Thread priority on Linux systems\n\nOn Linux systems that support [`nice(2)`][], Piscina is capable of setting\nthe priority of every worker in the pool. To use this mechanism, an additional\noptional native addon dependency (`@napi-rs/nice`, `npm i @napi-rs/nice`) is required.\nOnce [`@napi-rs/nice`][] is installed, creating a `Piscina` instance with the\n`niceIncrement` configuration option will set the priority for the pool:\n\n```js\nconst Piscina = require(\"piscina\");\nconst pool = new Piscina({\n  worker: \"/absolute/path/to/worker.js\",\n  niceIncrement: 20,\n});\n```\n\nThe higher the `niceIncrement`, the lower the CPU scheduling priority will be\nfor the pooled workers which will generally extend the execution time of\nCPU-bound tasks but will help prevent those threads from stealing CPU time from\nthe main Node.js event loop thread. Whether this is a good thing or not depends\nentirely on your application and will require careful profiling to get correct.\n\nThe key metrics to pay attention to when tuning the `niceIncrement` are the\nsampled run times of the tasks in the worker pool (using the [`runTime`][]\nproperty) and the [delay of the Node.js main thread event loop][].\n\n### Multiple Thread Pools and Embedding Piscina as a Dependency\n\nEvery `Piscina` instance creates a separate pool of threads and operates\nwithout any awareness of the other. When multiple pools are created in a\nsingle application the various threads may contend with one another, and\nwith the Node.js main event loop thread, and may cause an overall reduction\nin system performance.\n\nModules that embed Piscina as a dependency _should_ make it clear via\ndocumentation that threads are being used. It would be ideal if those\nwould make it possible for users to provide an existing `Piscina` instance\nas a configuration option in lieu of always creating their own.\n\n## The Team\n\n- James M Snell <jasnell@gmail.com>\n- Anna Henningsen <anna@addaleax.net>\n- Matteo Collina <matteo.collina@gmail.com>\n- Rafael Gonzaga <rafael.nunu@hotmail.com>\n- Robert Nagy <ronagy@icloud.com>\n- Carlos Fuentes <me@metcoder.dev>\n\n## Acknowledgements\n\nPiscina development was initially sponsored by [NearForm Research][].\n\n## Sponsors\n\nLooking to support the development of Piscina? Consider sponsoring us on [Open Collective](https://opencollective.com/piscinajs). We appreciate all levels of support!\n\n### Bronze Sponsors\n\n<a href=\"https://www.lambdatest.com/?utm_source=piscinajs&utm_medium=sponsor\" target=\"_blank\">\n<img src=\"https://www.lambdatest.com/blue-logo.png\" style=\"vertical-align: middle;\" width=\"250\" height=\"45\" />\n</a>\n\n## Resources\n\n[`Atomics`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics\n[`EventEmitter`]: https://nodejs.org/api/events.html\n[`postMessage`]: https://nodejs.org/api/worker_threads.html#worker_threads_port_postmessage_value_transferlist\n[`examples/task-queue`]: https://github.com/jasnell/piscina/blob/master/examples/task-queue/index.js\n[`nice(2)`]: https://linux.die.net/man/2/nice\n[`@napi-rs/nice`]: https://npmjs.org/package/@napi-rs/nice\n[`runTime`]: #property-runtime-readonly\n[Custom Task Queues]: #custom_task_queues\n[ES modules]: https://nodejs.org/api/esm.html\n[Node.js new Worker options]: https://nodejs.org/api/worker_threads.html#worker_threads_new_worker_filename_options\n[MIT Licensed]: LICENSE.md\n[NearForm Research]: https://www.nearform.com/research/\n[delay of the Node.js main thread event loop]: https://nodejs.org/dist/latest-v14.x/docs/api/perf_hooks.html#perf_hooks_perf_hooks_monitoreventloopdelay_options\n","_attachments":{},"homepage":"https://github.com/piscinajs/piscina#readme","bugs":{"url":"https://github.com/piscinajs/piscina/issues"},"license":"MIT"}