|
|
|
| как узнать сколько времени занимает исполнения функции | |
|
|
|
|
|
|
|
для: rty
(22.02.2007 в 10:55)
| | Вам требуется это реализовать программно или необходимо оценить узкие места? В последнем случае традиционно применяются специальные утилиты - профилировщики кода. | |
|
|
|
|
|
|
|
для: cheops
(22.02.2007 в 13:40)
| | Точного кода не дам, но обычно одну ф-цию оценивают так:
1) запоминают системное время до вызова ф-ции
2)вызывают ф-цию
2)опять получают системное время и сравнивают с временем п.1
Но это только для действительно "долгих" ф-ций | |
|
|
|
|
|
|
|
для: Фитч
(22.02.2007 в 19:41)
| | А можно дизассемблировать функцию и посмотреть, сколько тактов она занимает))) | |
|
|
|
|
|
|
|
для: alex19921992
(22.02.2007 в 19:46)
| | А я как то в поисках алгоритма поворота матрицы без дополнительного массива Paint дизассемблировал...так что это выход...если знаешь ассемблер...и обладаешь АЦЦКИМ ТИРПЕНИИМ! | |
|
|
|
|
|
|
|
для: 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 );
|
| |
|
|
|
|
|
|
|
для: -=Art=-
(24.02.2007 в 18:10)
| | Как я и сказал | |
|
|
|
|
|
|
|
для: Фитч
(24.02.2007 в 19:57)
| | Никто и не спорил =)
Кстати в моем примере учитываются только миллисекунды. Т.е если время выполнения ф-ии больше секунды, то нада исп-ть _timeb::time.
Точнее, его надо исп-ть в любом случае. =) | |
|
|
|