]> gitweb.factorcode.org Git - factor.git/commitdiff
Tweak sockets benchmark
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sun, 7 Sep 2008 09:14:47 +0000 (04:14 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sun, 7 Sep 2008 09:14:47 +0000 (04:14 -0500)
basis/io/unix/sockets/sockets.factor
extra/benchmark/sockets/sockets.factor

index 8e0cb570efc8a39b5b5b6c2de136e6e93320a173..50952dd217a8f80931fbda4d6aaa6fe688f6ec6d 100755 (executable)
@@ -67,7 +67,7 @@ M: object ((client)) ( addrspec -- fd )
 M: object (server) ( addrspec -- handle )
     [
         SOCK_STREAM server-socket-fd
-        dup handle-fd 10 listen io-error
+        dup handle-fd 128 listen io-error
     ] with-destructors ;
 
 : do-accept ( server addrspec -- fd sockaddr )
index 66c9c11167d8fda2233e332ea46cfb251a90612f..68e3a625a77595e0c779d681773d21622996bd69 100755 (executable)
@@ -6,7 +6,7 @@ IN: benchmark.sockets
 
 SYMBOL: counter
 
-: number-of-requests 1 ;
+: number-of-requests 1000 ;
 
 : server-addr ( -- addr ) "127.0.0.1" 7777 <inet4> ;
 
@@ -31,12 +31,14 @@ SYMBOL: counter
     ] ignore-errors ;
 
 : simple-client ( -- )
-    server-addr ascii [
-        CHAR: b write1 flush
-        number-of-requests
-        [ CHAR: a dup write1 flush read1 assert= ] times
-        counter get count-down
-    ] with-client ;
+    [
+        server-addr ascii [
+            CHAR: b write1 flush
+            number-of-requests
+            [ CHAR: a dup write1 flush read1 assert= ] times
+        ] with-client
+    ] try
+    counter get count-down ;
 
 : stop-server ( -- )
     server-addr ascii [
@@ -52,8 +54,13 @@ SYMBOL: counter
         counter get await
         stop-server
         yield yield
-    ] time ;
+    ] benchmark . flush ;
 
-: socket-benchmarks ;
+: socket-benchmarks ( -- )
+    1 clients
+    10 clients
+    20 clients
+    40 clients
+    100 clients ;
 
 MAIN: socket-benchmarks