Tweak sockets benchmark
parent
580c9b8868
commit
0ddc5d04e6
|
@ -67,7 +67,7 @@ M: object ((client)) ( addrspec -- fd )
|
||||||
M: object (server) ( addrspec -- handle )
|
M: object (server) ( addrspec -- handle )
|
||||||
[
|
[
|
||||||
SOCK_STREAM server-socket-fd
|
SOCK_STREAM server-socket-fd
|
||||||
dup handle-fd 10 listen io-error
|
dup handle-fd 128 listen io-error
|
||||||
] with-destructors ;
|
] with-destructors ;
|
||||||
|
|
||||||
: do-accept ( server addrspec -- fd sockaddr )
|
: do-accept ( server addrspec -- fd sockaddr )
|
||||||
|
|
|
@ -6,7 +6,7 @@ IN: benchmark.sockets
|
||||||
|
|
||||||
SYMBOL: counter
|
SYMBOL: counter
|
||||||
|
|
||||||
: number-of-requests 1 ;
|
: number-of-requests 1000 ;
|
||||||
|
|
||||||
: server-addr ( -- addr ) "127.0.0.1" 7777 <inet4> ;
|
: server-addr ( -- addr ) "127.0.0.1" 7777 <inet4> ;
|
||||||
|
|
||||||
|
@ -31,12 +31,14 @@ SYMBOL: counter
|
||||||
] ignore-errors ;
|
] ignore-errors ;
|
||||||
|
|
||||||
: simple-client ( -- )
|
: simple-client ( -- )
|
||||||
server-addr ascii [
|
[
|
||||||
CHAR: b write1 flush
|
server-addr ascii [
|
||||||
number-of-requests
|
CHAR: b write1 flush
|
||||||
[ CHAR: a dup write1 flush read1 assert= ] times
|
number-of-requests
|
||||||
counter get count-down
|
[ CHAR: a dup write1 flush read1 assert= ] times
|
||||||
] with-client ;
|
] with-client
|
||||||
|
] try
|
||||||
|
counter get count-down ;
|
||||||
|
|
||||||
: stop-server ( -- )
|
: stop-server ( -- )
|
||||||
server-addr ascii [
|
server-addr ascii [
|
||||||
|
@ -52,8 +54,13 @@ SYMBOL: counter
|
||||||
counter get await
|
counter get await
|
||||||
stop-server
|
stop-server
|
||||||
yield yield
|
yield yield
|
||||||
] time ;
|
] benchmark . flush ;
|
||||||
|
|
||||||
: socket-benchmarks ;
|
: socket-benchmarks ( -- )
|
||||||
|
1 clients
|
||||||
|
10 clients
|
||||||
|
20 clients
|
||||||
|
40 clients
|
||||||
|
100 clients ;
|
||||||
|
|
||||||
MAIN: socket-benchmarks
|
MAIN: socket-benchmarks
|
||||||
|
|
Loading…
Reference in New Issue