Task

Write a program which uses a timer (with the least granularity available
on your system) to time how long a function takes to execute.

Whenever possible, use methods which measure only the processing time used
by the current process; instead of the difference in system time
between start and finish, which could include time used by
other processes on the computer.

This task is intended as a subtask for Measure relative performance of sorting algorithms implementations.




f(n) := if n < 2 then n else f(n - 1) + f(n - 2)$
 
/* First solution, call the time function with an output line number, it gives the time taken to compute that line.
   Here it's assumed to be %o2 */
f(24);
46368
 
time(%o2);
[0.99]
 
/* Second solution, change a system flag to print timings for all following lines */
showtime: true$
 
f(24);
Evaluation took 0.9400 seconds (0.9400 elapsed)
46368