Форум: "Основная";
Текущий архив: 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.006 c