(require 'stdlib) (defun fib (n) (if (<= n 2) 1 (+ (fib (- n 1)) (fib (- n 2))))) (defmacro time (body) `(let ((start (current-utime)) end) ,@body (setq end (current-utime)) (puts (/ (- end start) 1000000.0)))) (time (fib 25)) ;;(defun time (proc) ;; (let ((start (current-utime)) end) ;; (funcall proc) ;; (setq end (current-utime)) ;; (/ (- end start) 1000000.0))) ;; ;;(do ;; ((i 20 (+ i 1))) ; bindings: (var init step) ;; ((= i 30)) ; until ;; (print (list i (time (lambda () (fib i))))))