summaryrefslogtreecommitdiff
path: root/cli/tests/workers/bench_large_message.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/workers/bench_large_message.ts')
-rw-r--r--cli/tests/workers/bench_large_message.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/cli/tests/workers/bench_large_message.ts b/cli/tests/workers/bench_large_message.ts
new file mode 100644
index 000000000..53076e711
--- /dev/null
+++ b/cli/tests/workers/bench_large_message.ts
@@ -0,0 +1,31 @@
+// Copyright 2020 the Deno authors. All rights reserved. MIT license.
+
+function oneWorker(i: number) {
+ return new Promise<void>((resolve) => {
+ let countDown = 10;
+ const worker = new Worker(
+ new URL("worker_large_message.js", import.meta.url).href,
+ { type: "module" },
+ );
+ worker.onmessage = (e): void => {
+ if (countDown > 0) {
+ countDown--;
+ return;
+ }
+ worker.terminate();
+ resolve();
+ };
+ worker.postMessage("hi " + i);
+ });
+}
+
+function bench() {
+ const promises = [];
+ for (let i = 0; i < 50; i++) {
+ promises.push(oneWorker(i));
+ }
+
+ return Promise.all(promises);
+}
+
+bench();