Optimalizace v NodeJS

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…