| Opóźnienie | Reakcja użytkownika |
|---|---|
| 0 - 100 ms | Błyskawicznie |
| 100 - 300 ms | Minimalne opóźnienie |
| 300 - 1000 ms | Wyczuwalne opóźnienie |
| > 1 s | Zmiana kontekstu |
| > 10 s | "Wrócę później..." |
Najważniejsze to dobrze poznać narzędzia deweloperskie z ulubionej przeglądarki
function benchmark() {
function fn(a, b, c, d) {
return a + b + c + d;
}
var start = new Date;
for (var n = 0; n < 1e6; n++) {
fn('a', 'b', 'c', 'd');
}
return (new Date - start);
}
function benchmark() {
var start = new Date;
for (var n = 0; n < 1e6; n++) {
// Ponieważ znamy fn, rozwijamy ją w miejscu wywołania:
a + b + c + d;
}
return (new Date - start);
}
function benchmark() {
var start = new Date;
for (var n = 0; n < 1e6; n++) {
// Wynik nie jest nigdzie używany więc kompilator go usunie...
}
return (new Date - start);
}
function benchmark() {
var start = new Date;
// ... razem z pętlą for, która była teraz pusta ;).
return (new Date - start);
}