anchor.diff:  
   (defun microbench
       (&optional (name (lisp-implementation-type)))
  +  (ensure-smoke :qtcore)
  +  (ensure-smoke :qtgui)
     (with-open-file (s (make-pathname :name name
   				    :type "bench-txt"
   				    :defaults (commonqt-directory))
  
positive.code:       ;; information, no runtime dispatch, etc.
        ;;
        (format t ";; the following numbers are for comparison only:~%")
        (dolist (fun '(bench-new-qobject/cffi
  		     bench-delete-qobject/cffi
  		     bench-new-qcolor/cffi
  		     bench-new-qcolor3/cffi
  		     bench-new-qcolor4/cffi
  		     bench-call-parent/cffi
  		     bench-call-setparent0/cffi
  		     bench-call-setparent/cffi))
  	(format t "(~A ~30T~D)~%" fun (best-of-3-funcall fun))))
      (format s "))~%")))
  
  (defun read-microbench-results (&optional (name (lisp-implementation-type)))
  
negative.code: 	   #+sbcl sb-sys:without-gcing
  	   (dotimes (i repeat)
  	     (funcall fun i)))
      (let* ((run1 (get-internal-run-time))
  	   (q
  	    (float (* (- run1 run0)
  		      (/ 1000000000 internal-time-units-per-second)
  		      (/ repeat)))))
        (if (< q 10)
  	  q
  	  (round q)))))
  
  (defparameter *repeat*
    50000)
  