Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.21;
Скачать: CL | DM;

Вниз

работа с таймером   Найти похожие ветки 

 
a_priori ©   (2008-05-22 19:48) [0]

Скажите, пожалуйста, мне необходимо засечь время проведения процедуры в моей проге. Так как процедура выполняется моментально, хочу провести её раз 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;


 
TIF ©   (2008-05-22 19:52) [1]

Gettickcount (вроде так пишется :)

Засекает время процессора (в миллисекундах)


 
TIF ©   (2008-05-22 19:53) [2]

Вот тут более подробно http://recursio.narod.ru/time.htm :0)

Ещё подробнее - google,yandex&nigma


 
Сергей М. ©   (2008-05-22 19:56) [3]


> мне необходимо засечь время проведения процедуры в моей
> проге


С какой точностью ?


 
a_priori ©   (2008-05-22 20:01) [4]

To Сергей М: ну, в миллисекундах, думаю.
To TIF: Спасибо, бегу смотреть ссылку :)


 
Сергей М. ©   (2008-05-22 20:02) [5]


> Поставила таймер


С этого момента максимально подробней ..


 
Сергей М. ©   (2008-05-22 20:03) [6]


> в миллисекундах, думаю


Почему именно в мс ? Почему не в микро, не в пико, не в нано ? От балды мили взято,так что ли ?


 
a_priori ©   (2008-05-22 20:09) [7]

Да, вообще правы, от балды. Мне просто нужно сравнить время выполнения процедуры в моей проге с временем выполнения похожей в матлабе. Просто в секундах - совсем грубо, т.к. процедура-то небольшая, а нано - очень уж точно. вот от балды и взяла...


 
a_priori ©   (2008-05-22 20:18) [8]

Спасибо большое, с Gettickcount всё получилось!!!! :))))


 
TIF ©   (2008-05-22 20:24) [9]

Удалено модератором


 
Сергей М. ©   (2008-05-22 20:27) [10]


> // это сама процедура, кот. повторяется 1000 раз
> sS:=LabeledEdit1.Text;
> xS:="x";


Неужели ты и в Матлабе пишешь подобную абракадабру ?)


 
a_priori ©   (2008-05-22 20:47) [11]

Да нет конечно!:) Это в Делфи считывается функция, которую пользователь вводит в форме в Edit-е. А в матлабе без форм просто записываю функцию, для кот. будет проводится сравнение.


 
Сергей М. ©   (2008-05-22 20:50) [12]


> нет конечно


Тогда как можно сравнивать откровенную абракадабру в Делфи с якобы НЕабракадаброй в Матлабе ?)


 
Сергей М. ©   (2008-05-22 20:54) [13]


> Это в Делфи считывается функция, которую пользователь вводит
> в форме в Edit-е


.. и ТУТ ЖЕ прочитанное затирается какой-то "х"ренью

Цитата:

> xS:="x";


 
Loginov Dmitry ©   (2008-05-22 21:54) [14]

> Мне просто нужно сравнить время выполнения процедуры в моей
> проге с временем выполнения похожей в матлабе.


и каковы результаты?
Матлаб рулит?


 
brother ©   (2008-05-23 08:38) [15]


> .. и ТУТ ЖЕ прочитанное затирается какой-то "х"ренью



> sS:=LabeledEdit1.Text;xS:="x";


они не одинаковы как я погляжу ;)


 
Сергей М. ©   (2008-05-23 08:42) [16]


> они не одинаковы как я погляжу


А ведь и правда)

Приношу извинения - подобное форматирование кода и именование идент-ров замыливает глаз)


 
a_priori ©   (2008-05-23 16:27) [17]

Ну, главное, чтобы результат не замыливал глаз:) Не, матлаб не рулит. Он не умеет раскладывать неявную функцию в ряд Тейлора, а моя прога умеет. А что касается результатов времени счета других процедур, кот есть и в матлабе, и у меня, пока ещё окончательного результата не получено, нужно ещё кое над чем поработать. Если интересно, как выясню - сообщу :)


 
МистерТ   (2008-05-23 19:07) [18]

> Он не умеет раскладывать неявную функцию в ряд Тейлора
Нет, ну я конечно сильно забыл математику и матлаб,
но это разве не оно ?
http://www.mathworks.com/access/helpdesk/help/toolbox/symbolic/taylor.html


 
a_priori ©   (2008-05-23 19:24) [19]

Да, видимо сильно забыли :) Это оно, только f здесь - ЯВНАЯ функция. а я про  неявные говорю.


 
Ega23 ©   (2008-05-23 19:25) [20]


> Засекает время процессора (в миллисекундах)


ужос какой...


 
TIF ©   (2008-05-23 19:38) [21]

Удалено модератором


 
Умище   (2008-05-24 14:26) [22]

Достаточно засечь время 1 раз, но использовать функцию GetThreadTimes.



Страницы: 1 вся ветка

Текущий архив: 2009.06.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
2-1238983205
Cabyrc
2009-04-06 06:00
2009.06.21
Сервер MySQL и Delphi


15-1239690431
начинающий
2009-04-14 10:27
2009.06.21
Лечение вирусов на NTFS-разделах


15-1239871463
12
2009-04-16 12:44
2009.06.21
«Интерфейс пользователя» → Диалоги


15-1239722171
@!!ex
2009-04-14 19:16
2009.06.21
Подскажите хороший багтрекер не сложный в установке.


15-1239909797
@!!ex
2009-04-16 23:23
2009.06.21
Как "поймать" соединение?