Dva na první pohled stejné kusy kódu s diametrálně odlišným výkonostním rozdílem. Ten stejný kód je ve verzi 2 několikanásobně rychlejší…
Verze 1
'use strict';
function add(x, y) {
return(x + y);
}
for(let i = 0; i < 500000000; i++) {
if (add(i, i++) < 5) {
}
}
real 0m1.897s user 0m1.880s sys 0m0.012s
Verze 2
'use strict';
function add(x, y) {
return(x + y);
}
for(var i = 0; i < 500000000; i++) {
if (add(i, i++) < 5) {
}
}
real 0m0.461s user 0m0.292s sys 0m0.055s
Optimalizace?
Jediný rozdíl je ve způsobu deklarace proměné i ve smyčce for. Deklarace pomocí let, je mnohem pomalejší. Optimalizací kódu je opravdu se potřeba věnovat. A tohle je jen špička ledovce…