Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Zmenšujeme JavaScript

Callo
Callo (neregistrovaný) ---.sh.cvut.cz
18. 3. 2010 9:10

Výkon

Jak je to s výkonem. Je minimalizovaný kód i výkonnější nebo je to jedno? Víte někdo?

Lukáš Kroček
18. 3. 2010 9:25

Re: Výkon

Compilery vetsinou maji funkci, ze ti odstrani komentare, mezery, nove radky a dalsi znaky ktere neovlivni tvuj kod, kvuli redukci velikosti souboru pro rychlejsi nacitani souboru, tak docela tezko.

Martin Malý aura:93
18. 3. 2010 10:27

Re: Výkon

Trošku obšírnější odpověď:

U klasických kompilovaných jazyků (C, Pascal atd.) je víceméně jedno, jak dlouhý je zdrojový kód – kompiler ignoruje komentáře, a pokud je dobrý (většina je), tak dokáže do jisté míry napravit i programátorské zhůvěřilosti a „optimalizovat“.

U interpretovaných jazyků, které nepoužívají překlad do bytecode ani cache, se objem může projevit na rychlosti – přeci jen parser musí přeskákat mezery a komentáře při každém načtení.

Jazyky, které jsou na pomezí (tedy překládají do bytecode a ten pak interpretují, nebo implementace, která si cachuje rozparsovaný kód) jsou na tom podobně jako jazyky kompilované – zpomalí to pouze první načtení, po překladu do bytecode už pojede naplno (např. Python a jeho .py a .pyc).

V assembleru se dokonce dělal přesný opak – např. se rozepisovaly některé smyčky na rozbalený tvar a tím se ušetřil čas (jen ten strojový…)

Ale na webu to lehké zvýšení výkonu přinést může – ovšem hlavně v tom, že se skript výrazně rychleji načte (a pokud to, jak výše psal Daniel Steigerwald, není založené na extra pomalé funkci eval()).

Sadám husa
Sadám husa (neregistrovaný) ---.clnet.cz
20. 3. 2010 3:22

Re: Výkon

Jde o to jakým způsobem minimalizovaný, (z PHP) určitě bude rychlejší zpracování echo ‚Čao světe‘; než $pozdrav = ‚Čao‘; $world=‚světe‘; $text=$pozdrav.' '.$world; echo $text; – sic nepatrně ale skus si představit že takto máš napsaný každý znak v proměnné a pak do proměnných poskládáš slova z proměnných a pak větu… Tak to napsaný web by byl už výrazně pomalejší(nepatrně ale při kompletních stránkách z proměnných by byl výrazný) a při návštěvnosti 100 000 uživatelů denně by to bylo znatelné! Napříč tomu zkracovat strukturu asi nemá smysl, nemyslím si že by funkce psaná:
if
(podmínka)
{
blok…;
}
elseif
(podmínka)
{
blok…;
}
byla pomaleji zpracována jak u příkazu: if(podmínka){blok;}el­seif(podmínka){blok;} (mezera je stejně znak stejný jako konec řádku(v zpraco­vání))
To se bavím ale o scriptu zpracovávaným na straně vytíženého serveru, na straně klienta v případě javascriptu, ač nejsem odborník tak usuzuji že to nebude mít absolutně žádný význam až na scripty o 100000 řádcích+ A když tu napíšeš jakým způsobem(je jich mnoho!) chceš zkrátit kód, tak ti povím zda to má citelný smysl, nebo ne…

Zasílat nově přidané příspěvky e-mailem