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…