mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 15:49:44 -05:00
Add node_tcp target to http_benchmark. (#1074)
This commit is contained in:
parent
e9bf206416
commit
a4fb5175ce
3 changed files with 32 additions and 5 deletions
|
@ -1,6 +1,7 @@
|
|||
// Used for benchmarking Deno's networking. See tools/http_benchmark.py
|
||||
// TODO Replace this with a real HTTP server once
|
||||
// https://github.com/denoland/deno/issues/726 is completed.
|
||||
// Note: this is a keep-alive server.
|
||||
import * as deno from "deno";
|
||||
const addr = deno.args[1] || "127.0.0.1:4500";
|
||||
const listener = deno.listen("tcp", addr);
|
||||
|
|
|
@ -22,6 +22,12 @@ def node_http_benchmark():
|
|||
return run(node_cmd)
|
||||
|
||||
|
||||
def node_tcp_benchmark():
|
||||
node_cmd = ["node", "tools/node_tcp.js", ADDR.split(":")[1]]
|
||||
print "http_benchmark testing node_tcp.js"
|
||||
return run(node_cmd)
|
||||
|
||||
|
||||
def hyper_http_benchmark(hyper_hello_exe):
|
||||
hyper_cmd = [hyper_hello_exe, ADDR.split(":")[1]]
|
||||
print "http_benchmark testing RUST hyper."
|
||||
|
@ -29,11 +35,13 @@ def hyper_http_benchmark(hyper_hello_exe):
|
|||
|
||||
|
||||
def http_benchmark(deno_exe, hyper_hello_exe):
|
||||
deno_rps = deno_http_benchmark(deno_exe)
|
||||
node_rps = node_http_benchmark()
|
||||
hyper_http_rps = hyper_http_benchmark(hyper_hello_exe)
|
||||
|
||||
return {"deno": deno_rps, "node": node_rps, "hyper": hyper_http_rps}
|
||||
r = {}
|
||||
# TODO Rename to "deno_tcp"
|
||||
r["deno"] = deno_http_benchmark(deno_exe)
|
||||
r["node"] = node_http_benchmark()
|
||||
r["node_tcp"] = node_tcp_benchmark()
|
||||
r["hyper"] = hyper_http_benchmark(hyper_hello_exe)
|
||||
return r
|
||||
|
||||
|
||||
def run(server_cmd):
|
||||
|
|
18
tools/node_tcp.js
Normal file
18
tools/node_tcp.js
Normal file
|
@ -0,0 +1,18 @@
|
|||
// Copyright 2018 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"
|
||||
);
|
||||
|
||||
Server(socket => {
|
||||
socket.on("data", _ => {
|
||||
socket.write(response);
|
||||
});
|
||||
socket.on("error", _ => {
|
||||
socket.destroy();
|
||||
});
|
||||
}).listen(port);
|
Loading…
Reference in a new issue