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.




Procedure Foo(Limit)
  Protected i, palindromic, String$
  For i=0 To Limit
    String$=Str(i)
    If String$=ReverseString(String$)
      palindromic+1
    EndIf
  Next
  ProcedureReturn palindromic
EndProcedure
 
If OpenConsole()
  Define Start, Stop, cnt
  PrintN("Starting timing of a calculation,")
  PrintN("for this we test how many of 0-1000000 are palindromic.")
  Start=ElapsedMilliseconds()
  cnt=Foo(1000000)
  Stop=ElapsedMilliseconds()
  PrintN("The function need "+Str(stop-Start)+" msec,")
  PrintN("and "+Str(cnt)+" are palindromic.")
  Print("Press ENTER to exit."): Input()
EndIf