#lang racket/base (require racket/match) (require racket/udp) (define s (udp-open-socket #f #f)) (define buffer (make-bytes 8)) (define nrepeats 3500) (for-each (lambda (x) (write `(,x milliseconds in ,nrepeats repeats = ,(exact->inexact (/ x nrepeats)))) (newline)) (cdr (call-with-values (lambda () (time-apply (lambda () (for ([i (in-range nrepeats)]) (udp-send-to s "127.0.0.1" 5678 #"get") (sync/timeout 0.5 (wrap-evt (udp-receive!-evt s buffer) (match-lambda [(list 8 _ _) 'ok]))))) '())) list)))