środa, 5 listopada 2014

Mierzenie czasu wykonywania skryptu za pomocą console.time()

W poprzednim wpisie przyjrzeliśmy się możliwością, jakie daje nam funkcja console.table(). Dzisiaj natomiast skupimy się na sposobie mierzenia czasu wykonywania skryptu korzystając z dobrodziejstw, jakie niesie za sobą rzadko używana przez deweloperów funkcja console.time().

Klasyczny sposób pomiaru czasu wykonywania skryptu w JavaScript


Wyobraźmy sobie prosty skrypt:
var i, output = "";

// Remember when we started
var start = new Date().getTime();

for (i = 1; i <= 1e6; i++)
    output += i;

// Remember when we finished
var end = new Date().getTime();

// Now calculate and output the difference    
console.log(end - start);
Gdyby ktoś z Was zastanawiał się, co dokładnie oznacza zapis 1e6 - to nic innego, jak liczba 10 podniesiona do potęgi szóstej - 1000000, a zapis ten jest po prostu zapisem skróconym.

Kod jest wyjątkowo przejrzysty i będzie działał wszędzie, jednak w przypadku korzystania z nowoczesnych przeglądarek istnieje prostszy sposób na wykonanie tego samego pomiaru - wystarczy użyć funkcji console.time().

Pomiar czasu wykonywania skryptu za pomocą console.time()


Korzystając z funkcji console.time() kod zaprezentowany powyżej będzie wyglądał w sposób następujący:
var i, output = "";

// Start timing now
console.time("concatenation");

for (i = 1; i <= 1e6; i++)
    output += i;

// ... and stop.
console.timeEnd("concatenation");
W powyższym przypadku wywołujemy dwie funkcje - console.time(), która rozpoczyna pomiar czasu oraz console.timeEnd(), która wspomniany pomiar czasu kończy. Nazwa przekazana jako argument musi być identyczna zarówno w jednej, jak i drugiej funkcji.

A oto wynik, jaki otrzymamy:

Brak komentarzy:

Prześlij komentarz