(define (now) (call-with-input-file "/proc/uptime" read)) I think it is all you need and that you should use it for all systems (define (timeit thunk) (let ((start (now))) (thunk) (let ((end (now))) (- end start)))) (timeit (lambda () (wait-interval 1000))) ;Value: 1. (timeit (lambda () (wait-interval 2000))) ;Value: 2.