Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
#1 · Zasláno: 23. 1. 2014, 18:26:58
Zdravím,
přemýšlím jak zoptimalizovat jeden delší js kód a narazil jsem na dva články - http://www.peachpit.com/articles/article.aspx?p=31567&seqNum=5, http://www.peachpit.com/articles/article.aspx?p=31567&seqNum=6 - kde je poměrně dlouhý a zajímavý seznam úprav, které by měly zrychlit a zefektivnit chod JS. Máte s optimalizací JS zkušenosti? Nějaké osobní vyzkoušené tipy? Než se pustím do refaktoringu, zajímal by mne váš názor, speciálně na použití lokálních vs. globálních proměnných (co článek (nemyslím výše uvedené), to jiný názor), pak je také zajímavé doporučení použití switche a do-while namísto if-else resp. foru, v případech kde je to možné. Příklad - globalní vs. lokální proměnné - co je rychlejší? var aplikace = { promenna = 0, promenna_2 = [], // funkce s lokálními funkce: function(par, par2) { var promen = this.promenna, promen_2 = this.promenna_2; promen = par; promen_2 = par2; // .. další operace s promen a promen_2 this.promenna = promen; this.promenna_2 = promen2; }, // funkce s globálními funkce2: function(par, par2) { this.promenna = par; this.promenna_2 = par2; // další operace s this.promenna a this.promenna_2 } } |
||
pcmanik Profil |
#2 · Zasláno: 23. 1. 2014, 18:34:15
Sylar:
Jedno zásadne pravidlo optimalízacie, optimalizovať až keď to prinesie úžitok a nehnať sa za microsekundami. Skôr nám daj kód ktorý sa ti zdá pomalý. Na testovanie rýchlostí môžes využiť jsperf. A lokálne premenné su vždy rýchlejšie nakoľko sa nemusí prechádzať celé scope. |
||
juriad Profil |
#3 · Zasláno: 23. 1. 2014, 18:36:36
Sylar:
Máš problém s rychlostí? Pokud ne, nesnaž se jakkoli optimalizovat; piš čitelný kód, který bude na první pohled snadno pochopitelný. Pokud ano, zjisti si, kde skript tráví nejvíce času a to místo můžeš optimalizovat; obvykle přepsáním algoritmu / použitím jiných funkcí než změnou sytaxe jazyka. |
||
sylar Profil * |
#4 · Zasláno: 23. 1. 2014, 19:57:49
pcmanik, juriad:
cely kod bohuzel poskytnout nemohu, jedna se o aplikaci s cca 2500 radek, coz neni nic velkeho, ale pracuje se s pomerne velkymi daty, ktere probihaji cykly, proto se zsjimam o optimalizaci ikdyz vyraznejsi problemy s rychlosti ZATIM nejsou. strukuta aplikace je v podstate takova jakou uvadim v prikladu. |
||
Časová prodleva: 10 let
|
0