-
Скажите, пожалуйста, мне необходимо засечь время проведения процедуры в моей проге. Так как процедура выполняется моментально, хочу провести её раз 100-1000 и засечь время. Поставила таймер. Сделала цикл. Сделал метку, в кот. выводилось бы время. Но что-то я наверно не так понимаю, т.к. не выходит.. Заранее спасибо за совет. Вот необходимая часть кода:
Timer1.Enabled:=true;
tim:=1;
for tim:=1 to 1000 do
begin
// это сама процедура, кот. повторяется 1000 раз
sS:=LabeledEdit1.Text;
xS:='x';
x0:= StrToFloat(LabeledEdit2.Text);
eps:=StrToFloat(LabeledEdit3.Text);
n:=SpinEdit3.Value;
Root;
end;
Label_vrema.Caption:=IntToStr(sec);
Timer1.Enabled:=False;
-
Gettickcount (вроде так пишется :)
Засекает время процессора (в миллисекундах)
-
-
> мне необходимо засечь время проведения процедуры в моей
> проге
С какой точностью ?
-
To Сергей М: ну, в миллисекундах, думаю.
To TIF: Спасибо, бегу смотреть ссылку :)
-
> Поставила таймер
С этого момента максимально подробней ..
-
> в миллисекундах, думаю
Почему именно в мс ? Почему не в микро, не в пико, не в нано ? От балды мили взято,так что ли ?
-
Да, вообще правы, от балды. Мне просто нужно сравнить время выполнения процедуры в моей проге с временем выполнения похожей в матлабе. Просто в секундах - совсем грубо, т.к. процедура-то небольшая, а нано - очень уж точно. вот от балды и взяла...
-
Спасибо большое, с Gettickcount всё получилось!!!! :))))
-
Удалено модератором
-
> // это сама процедура, кот. повторяется 1000 раз
> sS:=LabeledEdit1.Text;
> xS:='x';
Неужели ты и в Матлабе пишешь подобную абракадабру ?)
-
Да нет конечно!:) Это в Делфи считывается функция, которую пользователь вводит в форме в Edit-е. А в матлабе без форм просто записываю функцию, для кот. будет проводится сравнение.
-
> нет конечно
Тогда как можно сравнивать откровенную абракадабру в Делфи с якобы НЕабракадаброй в Матлабе ?)
-
> Это в Делфи считывается функция, которую пользователь вводит
> в форме в Edit-е
.. и ТУТ ЖЕ прочитанное затирается какой-то 'х'ренью
Цитата:
> xS:='x';
-
> Мне просто нужно сравнить время выполнения процедуры в моей
> проге с временем выполнения похожей в матлабе.
и каковы результаты?
Матлаб рулит?
-
> .. и ТУТ ЖЕ прочитанное затирается какой-то 'х'ренью
> sS:=LabeledEdit1.Text;xS:='x';
они не одинаковы как я погляжу ;)
-
> они не одинаковы как я погляжу
А ведь и правда)
Приношу извинения - подобное форматирование кода и именование идент-ров замыливает глаз)
-
Ну, главное, чтобы результат не замыливал глаз:) Не, матлаб не рулит. Он не умеет раскладывать неявную функцию в ряд Тейлора, а моя прога умеет. А что касается результатов времени счета других процедур, кот есть и в матлабе, и у меня, пока ещё окончательного результата не получено, нужно ещё кое над чем поработать. Если интересно, как выясню - сообщу :)
-
-
Да, видимо сильно забыли :) Это оно, только f здесь - ЯВНАЯ функция. а я про неявные говорю.