Измерение времени в Pascal
Post date: Oct 3, 2010 8:08:52 PM
Для точного измерения времени в ОС Windows используется функция QueryPerformanceCounter. Ниже приведён пример (для Free Pascal) использования этой функции.
program Time;
uses
Windows;
var
start, finish, res: int64;
begin
QueryPerformanceFrequency(res); {Вызывается один раз в начале программы}
QueryPerformanceCounter(start);
{Участок кода, у которого будет замеряться время выполнения}
QueryPerformanceCounter(finish);
writeln('Затрачено ', (finish - start) / res, ' секунд' );
end.
В PascalABC.Net наиболее простым способом измерения времени являются использование функции Milliseconds, которая возвращает количество миллисекунд прошедших с момента запуска программы. Пример использования ниже.
program Time;
var
start, finish: integer;
i: longint;
x: double;
begin
start := Milliseconds;
// Start of computation (example)
for i := 1 to 1000000 do
x := sin(x + i);
// End of computation
finish := Milliseconds;
writeln('Execution time (ms): ', finish - start);
end.