]> gitweb.factorcode.org Git - factor.git/blob - extra/benchmark/udp-echo0/udp-echo0.factor
endian: replaces io.binary and io.binary.fast.
[factor.git] / extra / benchmark / udp-echo0 / udp-echo0.factor
1 ! Copyright (C) 2011 John Benediktsson
2 ! See http://factorcode.org/license.txt for BSD license
3
4 USING: accessors destructors endian fry io.sockets kernel
5 sequences ;
6
7 IN: benchmark.udp-echo0
8
9 : send/recv ( packet server client -- )
10     [ 2dup addr>> ] [ send ] bi* receive drop assert= ;
11
12 : udp-echo ( #times #bytes -- )
13     '[
14         _ <iota> [ _ >be ] map
15         "127.0.0.1" 0 <inet4> <datagram> &dispose
16         "127.0.0.1" 0 <inet4> <datagram> &dispose
17         [ send/recv ] 2curry each
18     ] with-destructors ;
19
20
21 : udp-echo0-benchmark ( -- ) 10,000 1 udp-echo ;
22
23 MAIN: udp-echo0-benchmark