C ++ clock () - C ++ Standard Library

De functie clock () in C ++ retourneert de geschatte processortijd die door het programma wordt verbruikt.

Om de processortijd te berekenen, wordt het verschil gebruikt tussen de waarden die worden geretourneerd door twee verschillende aanroepen van clock (), een aan het begin en een andere aan het einde van het programma. Om de waarde in seconden om te zetten, moet deze worden gedeeld door een macro CLOCKS_PER_SEC .

De kloktijd () kan sneller of langzamer vooruitgaan dan de werkelijke wandklok. Het hangt af van hoe het besturingssysteem de bronnen voor het proces toewijst.

Als de processor wordt gedeeld door andere processen, kan de kloktijd () langzamer vooruitgaan dan de wandklok. Als het huidige proces wordt uitgevoerd in een systeem met meerdere threads, kan de kloktijd () sneller vooruitgaan dan de wandklok.

klok () prototype

 clock_t klok ();

Het wordt gedefinieerd in het header-bestand.

clock () Parameters

  • Geen

clock () Retourwaarde

  • Bij succes retourneert de functie clock () de processortijd die tot nu toe door het programma is gebruikt.
  • Bij een mislukking retourneert het -1 dat naar het type wordt gecast clock_t.

Voorbeeld: hoe de functie clock () werkt

 #include #include #include using namespace std; int main () ( float x,y; clock_t time_req; // Using pow function time_req = clock(); for(int i=0; i<100000; i++) ( y = log(pow(i,5)); ) time_req = clock() - time_req; cout << "Using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl; // Without pow function time_req = clock(); for(int i=0; i<100000; i++) ( y = log(i*i*i*i*i); ) time_req = clock()- time_req; cout << "Without using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl; return 0; )

Wanneer u het programma uitvoert, is de uitvoer:

 Met de pow-functie duurde het 0,014743 seconden. Zonder de pow-functie te gebruiken, duurde het 0,001357 seconden

Interessante artikelen...