jak mierzyć czas wykonywania algorytmu
Ostatnio zmodyfikowano 2011-01-28 15:37
markon Temat założony przez niniejszego użytkownika |
jak mierzyć czas wykonywania algorytmu » 2011-01-27 12:05:55 witam, w poprzednim moim wątku(na temat rekurencji) liczyliście czas wykonywania swojego algorytmu, mierzenie tego czasu odbywało się z poziomu kodu źródłowego, w sensie, że ten program z algorytmem miał jednocześnie "miernik czasu" dlatego proszę o wskazówki, jak takie coś stworzyć? |
|
ison |
» 2011-01-27 13:14:20 clock() zwraca liczbę milisekund od czasu włączenia programu GetTickCount() zwraca liczbę milisekund od czasu włączenia komputera żeby obliczyć czas działania algorytmu odejmij czas na końcu działania algorytmu od czasu początkowego #include <cstdio> #include <ctime>
int main() { clock_t start = clock(); printf( "Czas wykonywania: %lu ms\n", clock() - start ); }
#include <cstdio> #include <windows.h>
int main() { DWORD start = GetTickCount(); printf( "Czas wykonywania: %lu ms\n", GetTickCount() - start ); }
|
|
pekfos |
» 2011-01-27 13:42:11 clock() zwraca liczbę milisekund od czasu włączenia programu |
oj, chyba nie.. jakby tak było to po co makro CLOCKS_PER_SEC?? jednostkę czasu zależną od platformy sprzętowo-programowej nie nazwałbym milisekundą.. |
|
Elaine |
» 2011-01-27 13:43:32 clock() zwraca liczbę milisekund od czasu włączenia programu |
Tak jest tylko w przypadku niektórych implementacji (np. msvcrt). W przypadku innych może być inaczej, ba - jeśli implementacja jest zgodna z POSIX, to na pewno jest inaczej (POSIX wymaga, by CLOCKS_PER_SEC było równe 1000000). Standard C jasno określa, co trzeba zrobić, by otrzymać wartość w sekundach: To determine the time in seconds, the value returned by the clock function should be divided by the value of the macro CLOCKS_PER_SEC. |
|
|
DejaVu |
» 2011-01-27 14:04:46 |
|
markon Temat założony przez niniejszego użytkownika |
» 2011-01-27 16:08:52 powiedzmy, że mam w algorytmie strumień wejścia cin i oczywiście dopiero od momentu wprowadzenia danej chcę zacząć liczyć czas, jak takie coś zrobić? |
|
DejaVu |
» 2011-01-27 16:15:27 Dostałeś linki, może otwórz je i przeczytaj? |
|
markon Temat założony przez niniejszego użytkownika |
» 2011-01-27 16:19:20 ok, zaraz zajrzę |
|
« 1 » 2 |