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.




import system'calendar;
import system'routines;
import system'threading;
import system'math;
import extensions;
 
someProcess()
{
    threadControl.sleep(1000);
 
    new Range(0,10000).filterBy:(x => x.mod:2 == 0).summarize();
}
 
public program()
{
    var start := now;
 
    someProcess();
 
    var end := now;
 
    console.printLine("Time elapsed in msec:",(end - start).Milliseconds)
}