From 8af1c9f19cd9214ed04c2a5e54ba23e4c78e6f69 Mon Sep 17 00:00:00 2001 From: Marcelo Zimbres Date: Sun, 19 Jun 2022 14:12:10 +0200 Subject: [PATCH] Adds nodejs echo_server benchmark program. --- Makefile.am | 4 +++- {tools => benchmarks}/echo_server_client.cpp | 0 {tools => benchmarks}/echo_server_direct.cpp | 0 benchmarks/echo_server_direct.js | 7 +++++++ .../echo_server_over_redis.cpp | 0 benchmarks/echo_server_over_redis.js | 13 +++++++++++++ 6 files changed, 23 insertions(+), 1 deletion(-) rename {tools => benchmarks}/echo_server_client.cpp (100%) rename {tools => benchmarks}/echo_server_direct.cpp (100%) create mode 100644 benchmarks/echo_server_direct.js rename examples/echo_server.cpp => benchmarks/echo_server_over_redis.cpp (100%) create mode 100644 benchmarks/echo_server_over_redis.js diff --git a/Makefile.am b/Makefile.am index 942e164d..e82d8d4a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,6 +27,7 @@ EXTRA_PROGRAMS += commands if HAVE_CXX20 EXTRA_PROGRAMS += echo_server EXTRA_PROGRAMS += echo_server_direct +EXTRA_PROGRAMS += echo_server_over_redis EXTRA_PROGRAMS += chat_room EXTRA_PROGRAMS += echo_server_client endif @@ -47,9 +48,10 @@ adapter_SOURCES = $(top_srcdir)/examples/adapter.cpp if HAVE_CXX20 test_high_level_SOURCES = $(top_srcdir)/tests/high_level.cpp echo_server_SOURCES = $(top_srcdir)/examples/echo_server.cpp +echo_server_over_redis_SOURCES = $(top_srcdir)/benchmarks/echo_server_over_redis.cpp echo_server_direct_SOURCES = $(top_srcdir)/tools/echo_server_direct.cpp chat_room_SOURCES = $(top_srcdir)/examples/chat_room.cpp -echo_server_client_SOURCES = $(top_srcdir)/tools/echo_server_client.cpp +echo_server_client_SOURCES = $(top_srcdir)/benchmarks/echo_server_client.cpp endif nobase_include_HEADERS =\ diff --git a/tools/echo_server_client.cpp b/benchmarks/echo_server_client.cpp similarity index 100% rename from tools/echo_server_client.cpp rename to benchmarks/echo_server_client.cpp diff --git a/tools/echo_server_direct.cpp b/benchmarks/echo_server_direct.cpp similarity index 100% rename from tools/echo_server_direct.cpp rename to benchmarks/echo_server_direct.cpp diff --git a/benchmarks/echo_server_direct.js b/benchmarks/echo_server_direct.js new file mode 100644 index 00000000..b3d4501e --- /dev/null +++ b/benchmarks/echo_server_direct.js @@ -0,0 +1,7 @@ +var net = require('net'); + +net.createServer(function(socket){ + socket.on('data', function(data){ + socket.write(data.toString()) + }); +}).listen(55555); diff --git a/examples/echo_server.cpp b/benchmarks/echo_server_over_redis.cpp similarity index 100% rename from examples/echo_server.cpp rename to benchmarks/echo_server_over_redis.cpp diff --git a/benchmarks/echo_server_over_redis.js b/benchmarks/echo_server_over_redis.js new file mode 100644 index 00000000..11b29913 --- /dev/null +++ b/benchmarks/echo_server_over_redis.js @@ -0,0 +1,13 @@ +import { createClient } from 'redis'; +import * as net from 'net'; + +const client = createClient(); +client.on('error', (err) => console.log('Redis Client Error', err)); +await client.connect(); + +net.createServer(function(socket){ + socket.on('data', async function(data) { + const value = await client.ping(data.toString()); + socket.write(data) + }); +}).listen(55555);