add signal-slot benchmark & better graphs
Annotate for file lisp-benchmark.lisp
2009-05-25 tobias 1 (in-package :cl-smoke.benchmark)
14:59:32 ' 2
' 3 (let ((array (make-instance 'qt:byte-array :args '("foobar"))))
' 4 (defun inline-call (iterations)
' 5 (declare (fixnum iterations)
' 6 (optimize (speed 3)))
' 7 (let ((char #\Null))
' 8 (declare (character char))
' 9 (dotimes (i iterations char)
' 10 (setf char (cxx:aref array 0))))))
' 11
' 12 (let ((object (make-instance 'qt:object)))
2009-06-19 tobias 13 (declare (qt:object object))
2009-05-25 tobias 14 (defun simple-call (iterations)
14:59:32 ' 15 (declare (fixnum iterations)
' 16 (optimize (speed 3)))
' 17 (dotimes (i iterations)
' 18 (cxx:kill-timer object 0))))
' 19
' 20 (defclass my-object (qt:object)
' 21 ()
' 22 (:metaclass cxx:class))
' 23
' 24
2009-06-19 tobias 25 (defun signal-slot (iterations)
2009-05-25 tobias 26 (declare (fixnum iterations)
14:59:32 ' 27 (optimize (speed 3)))
2009-06-19 tobias 28 (let ((my-signal (make-instance 'cl-smoke.qt-impl::qsignal :argument-types nil)))
15:31:27 ' 29 (declare (function my-signal))
' 30 (qt:connect my-signal
' 31 #'(lambda ()))
2009-05-25 tobias 32 (dotimes (i iterations)
2009-06-19 tobias 33 (funcall my-signal))))
15:31:27 ' 34
2009-05-25 tobias 35
14:59:32 ' 36 (defun construct (iterations)
' 37 (declare (fixnum iterations)
' 38 (optimize (speed 3)))
' 39 (dotimes (i iterations)
' 40 (make-instance 'qt:object)))