Форум: Форум C++Разное
Новые темы: 00
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: время исполнения функции
 
 автор: rty   (22.02.2007 в 10:55)   письмо автору
 
 

как узнать сколько времени занимает исполнения функции

  Ответить  
 
 автор: cheops   (22.02.2007 в 13:40)   письмо автору
 
   для: rty   (22.02.2007 в 10:55)
 

Вам требуется это реализовать программно или необходимо оценить узкие места? В последнем случае традиционно применяются специальные утилиты - профилировщики кода.

  Ответить  
 
 автор: Фитч   (22.02.2007 в 19:41)   письмо автору
 
   для: cheops   (22.02.2007 в 13:40)
 

Точного кода не дам, но обычно одну ф-цию оценивают так:
1) запоминают системное время до вызова ф-ции
2)вызывают ф-цию
2)опять получают системное время и сравнивают с временем п.1
Но это только для действительно "долгих" ф-ций

  Ответить  
 
 автор: alex19921992   (22.02.2007 в 19:46)   письмо автору
 
   для: Фитч   (22.02.2007 в 19:41)
 

А можно дизассемблировать функцию и посмотреть, сколько тактов она занимает)))

  Ответить  
 
 автор: Фитч   (22.02.2007 в 23:06)   письмо автору
 
   для: alex19921992   (22.02.2007 в 19:46)
 

А я как то в поисках алгоритма поворота матрицы без дополнительного массива Paint дизассемблировал...так что это выход...если знаешь ассемблер...и обладаешь АЦЦКИМ ТИРПЕНИИМ!

  Ответить  
 
 автор: -=Art=-   (24.02.2007 в 18:10)   письмо автору
 
   для: rty   (22.02.2007 в 10:55)
 

Вообще, копай МСДН "time functions"
Как вариант можно так:
struct _timeb tstruct1;
struct _timeb tstruct2;

_ftime( &tstruct1 );
   foo(); //собсно ф-ия
_ftime( &tstruct2 );
tstruct2.millitm-=tstruct1.millitm;
printf"Foo milliseconds:%u\n", tstruct2.millitm );

  Ответить  
 
 автор: Фитч   (24.02.2007 в 19:57)   письмо автору
 
   для: -=Art=-   (24.02.2007 в 18:10)
 

Как я и сказал

  Ответить  
 
 автор: -=Art=-   (24.02.2007 в 20:49)   письмо автору
 
   для: Фитч   (24.02.2007 в 19:57)
 

Никто и не спорил =)
Кстати в моем примере учитываются только миллисекунды. Т.е если время выполнения ф-ии больше секунды, то нада исп-ть _timeb::time.
Точнее, его надо исп-ть в любом случае. =)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования