Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

jak mierzyć czas wykonywania algorytmu

Ostatnio zmodyfikowano 2011-01-28 15:37
Autor Wiadomość
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ć?
P-27214
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

C/C++
#include <cstdio>
#include <ctime>

int main()
{
    clock_t start = clock();
    //..
    printf( "Czas wykonywania: %lu ms\n", clock() - start );
}

C/C++
#include <cstdio>
#include <windows.h>

int main()
{
    DWORD start = GetTickCount();
    //...
    printf( "Czas wykonywania: %lu ms\n", GetTickCount() - start );
}
P-27217
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ą..
P-27220
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.
P-27221
DejaVu
» 2011-01-27 14:04:46
P-27225
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ć?
P-27228
DejaVu
» 2011-01-27 16:15:27
Dostałeś linki, może otwórz je i przeczytaj?
P-27229
markon
Temat założony przez niniejszego użytkownika
» 2011-01-27 16:19:20
ok, zaraz zajrzę
P-27230
« 1 » 2
  Strona 1 z 2 Następna strona