9. Jak辿 nastaly probl辿my
P鱈li邸 dlouh辿 zpracov叩v叩n鱈 naten箪ch dat a jejich
zobrazen鱈
Pomal叩 odezva pi zobrazen鱈 detailu zpr叩vy
www.seznam.cz @marekfojtl
10. Co obecn ovlivuje v箪kon
Architektura PC u転ivatele
Javascript => interpretovan箪 jazyk
Prohl鱈転e (neoptimalizovan箪 interpreter)
Neoptim叩ln鱈 k坦d
Neoptim叩ln鱈 algoritmus
www.seznam.cz @marekfojtl
11. Oblasti, na kter辿 se zam鱈me
Vol叩n鱈 funkc鱈
Proch叩zen鱈 pole cache prvk哲
Zetzen鱈 vs Array.join
Glob叩ln鱈 promnn辿
Tipy pi vytv叩en鱈 HTML element哲
www.seznam.cz @marekfojtl
12. Metodika
Testovac鱈 platforma: http://jsperf.com
Testovac鱈 stroj: Mac mini (Intel i7 2,3GHz)
Operan鱈 syst辿m: OS X 10.8, Windows 7
Prohl鱈転ee: Firefox 18, Chrome 24, Opera 12.11,
Safari 6.0.2, Internet Explorer 10 RP, 9
www.seznam.cz @marekfojtl
13. Vol叩n鱈 funkc鱈
function inc(c) { return ++c; }
var a=0;
var b=0;
/* ========================= DUEL ========================= */
b = ++a;
VS
b = inc(a)
www.seznam.cz @marekfojtl
18. Zetzen鱈 vs Array.join
var slova = ["Tak転e", "dobr箪", "veer"];
var veta = "";
/* ========================= DUEL ========================= */
veta = "";
for(var i=0, len=slova.length; i<len; i++) {
if (i) { veta += " "; }
veta += slova[i];
}
VS
veta = slova.join(" ");
www.seznam.cz @marekfojtl
19. Zetzen鱈 vs Array.join
Zdroj: http://jsperf.com/join-vs-zretezeni/2
www.seznam.cz @marekfojtl
20. Tipy pi vytv叩en鱈 prvk哲 DOMu
vytv叩en鱈 element哲 mimo DOM
document.createDocumentFragment
node.innerHTML
pomocn鱈ci setTimeout a setInterval
www.seznam.cz @marekfojtl
21. Obecn箪 p鱈nos optimalizac鱈
User eXperience!
eten鱈 syst辿mov箪ch prostedk哲 klientsk箪ch PC
Vytv叩en鱈 v箪konnostn鱈ch rezerv pro n叩ronj邸鱈
v箪poty
www.seznam.cz @marekfojtl
22. Tipy na z叩vr
Kritick辿 b箪vaj鱈 cykly a asto se opakuj鱈c鱈 ud叩losti
Profilov叩n鱈
Testujte na m辿n v箪konn箪ch stroj鱈ch
Optimalizace vs itelnost k坦du
D哲le転it辿 zejm辿na v mapov箪ch aplikac鱈ch, hr叩ch ...
www.seznam.cz @marekfojtl
23. Dkuji za pozornost
Marek Fojtl, UI v箪voj叩, marek.fojtl@firma.seznam.cz
www.seznam.cz @marekfojtl