From c6be6bcfdf076fc95e7b065b1dfc49137e3fea60 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 11 Feb 2008 15:53:42 -0600 Subject: [PATCH] New sockets benchmark --- extra/benchmark/sockets/sockets.factor | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 extra/benchmark/sockets/sockets.factor diff --git a/extra/benchmark/sockets/sockets.factor b/extra/benchmark/sockets/sockets.factor new file mode 100755 index 0000000000..876ff0b61d --- /dev/null +++ b/extra/benchmark/sockets/sockets.factor @@ -0,0 +1,29 @@ +USING: io.sockets io.server io kernel math threads debugger +concurrency tools.time prettyprint ; +IN: benchmark.sockets + +: simple-server ( -- ) + 7777 local-server "simple-server" [ + 10 [ read1 write1 flush ] times + ] with-server ; + +: simple-client ( -- ) + "localhost" 7777 [ + 10 [ CHAR: a dup write1 flush read1 assert= ] times + ] with-stream ; + +: socket-benchmark ( n -- ) + dup pprint " clients: " write + [ simple-server ] in-thread + yield yield + [ drop simple-client ] parallel-each ; + +: socket-benchmarks + [ 10 socket-benchmark ] time + [ 20 socket-benchmark ] time + [ 40 socket-benchmark ] time + [ 80 socket-benchmark ] time + [ 160 socket-benchmark ] time + [ 320 socket-benchmark ] time ; + +MAIN: socket-benchmarks