[OT:] Rychlost javascriptu v IE (bylo Re: komprese stringu)

Miroslav Velen miroslav.velen na seznam.cz
Neděle Září 18 08:39:38 CEST 2011


IE8 a starší jsou bohužel neskutečně pomalé v oblasti rychlosti JS a 
manipulace s DOM objektem reprezenujícím stránku. Navíc to "vylepšuje" 
režim kompatibility, který je defaultně nastaven (a to platí i pro IE9) 
pro všechny lokální servery (viz. Nástroje/Nastavení kompatibilního 
zobrazení). V kompatibilním režimu je IE8 i IE9 pomalejší než bez něho.

Naše aplikace to v kritických případech řeší jiným způsobem 
chování/vizualizce pro IE<=8 a ostatní prohlížeče, na nic lepšího jsme 
nepřišli.

Existuje ještě jedna zvrhlá možnost udělat z IE Chrome pomocí Google 
Chrome Frame, ale to by mohlo narazit politiku používání prohlížeče u 
zákazníka.

MV


Dne 18.9.2011 3:43, Pavel Kutina napsal(a):
> Tak experiment se zdaril, pacient zemrel...
>
> Sice jsem stlacil prenasena data na rozumnou velikost, ale narazil 
> jsem o krok dale, a to na rychlost, resp. vypocetni vykon nutny pro 
> zpracovani retezce javascriptem.
>
> Jakkoli je to nehezke, mam na strane klienta tabulku, citajici cca 500 
> radku, kazdy radek je inikatni a ma vygenerovane unikatni ID. Data se 
> na serveru meni, ja prenasim pres XMLHttpRequest (IE komunikuje pres 
> "svoji" implementaci AJAXu pres ActiveXObject) nejaky popisovaci 
> soubor, na strane klienta pomoci GetElementByID nastavuju par 
> drobnosti, jako je barva pozadi a viditelnost nekterych prvku.
>
> Problem je s rychlosti a narocnosti zpracovani. Na "normalnich" 
> prohlizecich (Firefox, Mozilla, Chrome, Opera) nemam problem a 
> zpracovani na zatezi procesoru nevidim (testovano na ruznych PC a OS 
> od WinXP na mobilnom Celeronu na 1.8GHz az po Win7 64bit s nejakym 
> tlustym dvoujadrem) a vsechno chodi jak ma, na lokalni siti jsem 
> schopnen aktualizovat data i nekolikrat za vterinu (jinak "best of" je 
> Chrome, tam to pracuje s prakticky neznatelnymi prodlevami, nechapu, 
> jak to delaji).
>
> Problem je, kdyz to otevru ve starsim IE. IE 9 take nema problem, ale 
> ty starsi (IE 8 a 7, predpokladam, ze i 6, ale nemam ho ted po ruce) 
> na zpracovani tehoz skriptu sezerou veskery strojovy cas radove na 
> sekundy - a v "idealnim" pripade i nafurt a nezbyva, nez IE sestrelit.
>
> Pokud necham prakticky prazdnou smycku a delam jen dotaz serveru a 
> nasledne parsovani dat, nema problem ani IE, takze je videt, ze 
> zpracovani zvlada. Jakmile ale sahnu na naprosto libovolny vizualni 
> styl (a treba 50x ho zopakuju, resp. nastavim u padesati elementu), 
> jde do tuheho a zatez leti prudce nahoru. Kdyby to delaly vsechny 
> prohlizece, pochopil bych, ze je to slepa cesta, ale proc se to sype 
> jen v IE7 a 8? Chapu, ze stylovani takoveho baliku dat je asi malicko 
> nadstandardni, ale zakaznik by to chtel mit implementovane a ja bych 
> mu rad vyhovel - tim spis, kdyz vidim, ze to v nekterych prohlizecich 
> jede bez problemu a technicky to zrejme realizovatelne bude.
>
> Nemate nekdo tip?
>
> Diky.
>
> Pavel Kutina
>
>
>


Další informace o konferenci Hw-list