03. december 2003 - 14:54Der er
8 kommentarer og 2 løsninger
Tage tid på funktion
Hey eksperter! Jeg skal bruge noget der kan tage tid på en løkke, nærmerer bestemt noget sortering (bubblesort og quicksort)... Præcistionen skal være i millisekunder, og mener derfor ikke jeg kan bruge time.h ?
Hvis det skal være så nøjagtigt så skal du nok overveje forskellen på vægtid (den du kan aflæse externt og med de nævnte funktioner) og processtid (den tid processen rent faktiskt har fået lov at køre for dit operativ system, hvilket er nogle andre kald).
Kan man ikke bruge clock() fra <ctime> ? Noget i retning af: --- long start = clock(); //kør din funktion long stop = clock()-start; ---
Nu skulle stop gerne indeholde det antal millisekunder funktionen har taget. Man kan også bruge GetTickCount() i stedet for clock(), hvis det altså er windows.
Men det er måske en bedre mulighed, da den angiver forbrug af CPU tid ikke total tid (forskellen kommer hvis andre processer på maskinen også bruger CPU).
tak for svarerne... jeg har kikket lidt på clock(), og umiddelbart ser det da ud til at det giver et output i millisekunder... passer det ikke nogenlunde med at der går 28100 ms på 28,1 sekunder?
Skal dog lige overveje jeres kommentare om hvorvidt der skal tælles processtid eller realtid...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.