From 31f32ed8c4082d36ad2a4ea460366c0d57a5ddbc Mon Sep 17 00:00:00 2001 From: Valentin Anger Date: Fri, 28 Aug 2020 15:03:50 +0200 Subject: Move benchmarks to Rust (#7134) All benchmarks are done in Rust and can be invoked with `cargo bench`. Currently this has it's own "harness" that behaves like `./tools/benchmark.py` did. Because of this tests inside `cli/bench` are currently not run. This should be switched to the language provided harness once the `#[bench]` attribute has been stabilized. --- cli/bench/node_tcp_promise.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 cli/bench/node_tcp_promise.js (limited to 'cli/bench/node_tcp_promise.js') diff --git a/cli/bench/node_tcp_promise.js b/cli/bench/node_tcp_promise.js new file mode 100644 index 000000000..36709d2b9 --- /dev/null +++ b/cli/bench/node_tcp_promise.js @@ -0,0 +1,25 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. +// Note: this is a keep-alive server. +const { Server } = require("net"); +const port = process.argv[2] || "4544"; +console.log("port", port); + +const response = Buffer.from( + "HTTP/1.1 200 OK\r\nContent-Length: 12\r\n\r\nHello World\n", +); + +function write(socket, buffer) { + const p = new Promise((resolve, _) => { + socket.write(buffer, resolve); + }); + return Promise.resolve(p); +} + +Server(async (socket) => { + socket.on("error", (_) => { + socket.destroy(); + }); + for await (const _ of socket) { + await write(socket, response); + } +}).listen(port); -- cgit v1.2.3