Skip to content

Instantly share code, notes, and snippets.

@mpizenberg
Last active July 31, 2021 11:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mpizenberg/f95c7c84288973b8055388a95bc7ed56 to your computer and use it in GitHub Desktop.
Save mpizenberg/f95c7c84288973b8055388a95bc7ed56 to your computer and use it in GitHub Desktop.
Slow message passing with workers
let msgCount = 100000;
console.log("Sending", msgCount, " messages ...");
let worker = new Worker(new URL("./deno_worker.mjs", import.meta.url).href, {
type: "module",
});
worker.onmessage = (msg) => {
if (msg.data >= msgCount) {
worker.terminate();
Deno.exit();
} else {
worker.postMessage(msg.data + 1);
}
};
worker.postMessage(0);
self.onmessage = (msg) => {
self.postMessage(msg.data);
};
import { Worker } from "worker_threads";
let msgCount = 100000;
console.log("Sending", msgCount, " messages ...");
let worker = new Worker("./node_worker.mjs", { type: "module" });
worker.on("message", (id) => {
if (id > msgCount) {
worker.terminate();
process.exit();
} else {
worker.postMessage(id + 1);
}
});
worker.postMessage(0);
import { parentPort } from "worker_threads";
parentPort.on("message", (id) => {
parentPort.postMessage(id);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment