Reklama

C# – Tipy, rady, návody – 4: Zjištění délky trvání určité části zdrojového kódu

Úvod

Někdy potřebujeme zjistit délku trvání určité části kódu. Jedná se především o situace zpracování rozměrných polí, např. při zpracování obrazu, nebo se také tato funkce může hodit pro všeobecné časové analyzování kódu.

Pro měření časového úseku budeme potřebovat třídu System.Diagnostics.Stopwatch. Využijeme její metody Start a Stop a také vlastnost ElapsedMilliseconds.

Pro ukázku si vytvoříme pole o milión prvcích a pomocí prvního cyklu „for“ naplníme pole čísly a pomocí druhého cyklu „for“ je posuneme o jednu pozici. Před započetím těchto operací spustíme časovač pomocí metody Start a po ukončení časovač ukončíme pomocí metody Stop. Poté se podíváme do vlastnosti ElapsedMilliseconds, která vrací hodnotu typu „long“ a tím zjistíme, jak dlouho trvaly operace v jednotkách milisekund.

int [] array = new int [1000000]; // vytvoříme pole typu int
long time; // proměnná pro uložení výsledného času v ms
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
// vytvoření instance třídy
stopwatch.Start(); // spuštění časovače
for (int i = 0; i < 1000000; i++) // naplnění pole
{
array[i] = i;
}
for (int t = 0; t < 999999; t++) // posunutí pole o jednu pozici
{
array[t] = t + 1;
}
stopwatch.Stop(); // zastavení časovače
time = stopwatch.ElapsedMilliseconds; // zjištění trvání v jednotkách ms

Při pěti spuštěních této funkce byly naměřené následující časové hodnoty: 30 ms, 33 ms, 27 ms, 23 ms a 29 ms.

Následující a předchozí příspěvek v kategorii:

 

Následující: C# – Tipy, triky, návody – 5: Vygenerování náhodného čísla

Předchozí: C# – Tipy, triky, návody – 3: Porovnání dvou řetězců
 
Tajned facebook
 

Za případné chyby v textu, ve zdrojovém kódě, nebo ve schématickém zapojení se omlouváme.
AUTOŘI NEBEROU ŽÁDNOU ODPOVĚDNOST ZA PŘÍPADNÉ ÚJMY NA ZDRAVÍ ČI MAJETKU.