(defun timings (function) (let ((real-base (get-internal-real-time)) (run-base (get-internal-run-time))) (funcall function) (values (/ (- (get-internal-real-time) real-base) internal-time-units-per-second) (/ (- (get-internal-run-time) run-base) internal-time-units-per-second)))) CL-USER> (timings (lambda () (reduce #'+ (make-list 100000 :initial-element 1)))) 17/500 7/250