summaryrefslogtreecommitdiff
path: root/cli/bench/http/deno_http_flash_spawn.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/bench/http/deno_http_flash_spawn.js')
-rw-r--r--cli/bench/http/deno_http_flash_spawn.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/cli/bench/http/deno_http_flash_spawn.js b/cli/bench/http/deno_http_flash_spawn.js
new file mode 100644
index 000000000..eb827b34b
--- /dev/null
+++ b/cli/bench/http/deno_http_flash_spawn.js
@@ -0,0 +1,16 @@
+if (Deno.build.os !== "linux") {
+ throw new Error("SO_REUSEPORT is only supported on Linux");
+}
+
+const executable = Deno.execPath();
+const path = new URL("./deno_http_flash.js", import.meta.url).pathname;
+// single flash instance runs on ~1.8 cores
+const cpus = navigator.hardwareConcurrency / 2;
+const processes = new Array(cpus);
+for (let i = 0; i < cpus; i++) {
+ const proc = Deno.run({
+ cmd: [executable, "run", "-A", "--unstable", path, Deno.args[0]],
+ });
+ processes.push(proc.status());
+}
+await Promise.all(processes);