Automatically generate wrappers for functions, which may return error.
[cl-zmq.git] / perf / remote-lat.lisp
blobb00372eccf19f2c7c2561fd31dd41eb49dedf925
1 (require :cl-zmq)
3 (defpackage :zmq-test
4 (:use :cl :cffi))
6 (in-package :zmq-test)
8 (load "lat-parms")
10 (defvar *elapsed* nil)
11 (defvar *latency* nil)
13 (zmq::with-context (ctx 1 1)
14 (zmq:with-socket (s ctx zmq:req)
15 (zmq:connect s *address*)
16 (let ((msg (zmq:make-message *message-size*)))
17 (setf *elapsed*
18 (zmq:with-stopwatch
19 (dotimes (i *roundtrip-count*)
20 (zmq:send s msg)
21 (zmq:recv s msg)))))))
23 (setf *latency* (/ *elapsed* (* 2 *roundtrip-count*)))
25 (format t "message size: ~d [B]~%" *message-size*)
26 (format t "roundtrip count: ~d~%" *roundtrip-count*)
27 (format t "average latency: ~f [us]~%" *latency*)
29 (sb-ext:quit)