Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
15-1239395408
Юрий
2009-04-11 00:30
2009.06.21
С Днём рождения ! 11 апреля 2009 суббота


1-1207045289
dmitry_12_08_74
2008-04-01 14:21
2009.06.21
Как проверить при запуске программы, есть ли уже запущенная копия


3-1222488895
девушка
2008-09-27 08:14
2009.06.21
Контроль непрерывности и непересечения интервала дат


2-1240813603
Mishenka
2009-04-27 10:26
2009.06.21
Как в ListView отловить событие начала скроллинга?


2-1241431602
95
2009-05-04 14:06
2009.06.21
Содержимое буфера в поток





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский