Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

Rýchlosť spustení aplikácie

Potreboval som opakovane spúšťať nejakú jednoduchú funkciu a bolo mi vcelku jedno, v akom jazyku bude napísaná. Tak ma napadlo, že zmeriam, ako dlho trvá spustenie procesu v rôznych jazykoch.

Meral som niekoľkokrát, vždy druhý najlepší čas, aby som vylúčil vplyv načítanie z HDD. Programy boli veľmi krátke, klasický "Hello, world". Meral som teda v skutočnosti len dobu načítanie runtime prostredie aplikácie.

jazyk čas
C 2 ms
CLisp 42 ms
rep 37 ms
PHP5 91 ms
Java 326 ms
bash 8 ms
Lua 5 ms
Python 55 ms
perl 8 ms
AWK 4 ms
xsltproc 6 ms
Saxon 1105 ms
Ako sa dalo predpokladať, zvíťazil jazyk C takmer nemerateľným časom. Nemá žiadne runtime prostredie, nie je v ňom čo nastavovať. V závese Lua a napodiv Bash. Prečo? Základné časti týchto interpretru sú veľmi krátke. Ďalšie boli interpretru Lispe a Pythone, o kus ďalej PHP.

A posledná? Z bežne používaných jazykov to bola ospevovaná a súčasne preklínaná Java. V tomto teste úplne prepadla, aj keď v iných testoch dokáže byť rýchlejší, než program napísaný v C. Tu sa jasne preukázalo, že na drobné utility sa jednoducho nehodí, že jej doménou sú veľké aplikácie.

Dodatočne som si spomenul ešte na Perl. Svojim výsledkom 8 ms sa radí k špičke medzi interpretovanými jazykmi, aspoň v prípade krátkych utilít. Bohužiaľ sa na veľké aplikácie veľmi nehodí.

Len z legrace som otestoval AWK, pretože sa jedná o jazyk určený skôr pre špeciálne účely a má pomerne neobvyklú syntax. So svojím spúšťacím časom 4 ms sa však takmer vyrovnal programu napísanému v C, ale vývoj drobné aplikácia je v ňom neporovnateľne kratšie.

Veľmi prekvapil xsltproc. O XSLT bolo napísané mnoho poloprávd a mýtov ohľadom rýchlosti. Výsledok 6 ms predčil očekávávání. Konkrétne xsltproc bol napísaný v jazyku C tak, aby bol čo najrýchlejší. Protipólom bol Saxon, ktorý rovnakú aplikáciu spúšťal oveľa dlhšie.

Čokoľvek pod 10 ms sa dá považovať za vynikajúci výsledok, bohužiaľ je to však súčasne hranica presnosti použitého merania. Na rozhodovanie o tom, ktorý jazyk si vybrať, by sa mali brať do úvahy skôr ostatné vlastnosti.


 

Všetky články v sekcii
Články nielen o programovaní
Článok pre vás napísal Kit
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Jsem spokojeným uživatelem operačních systémů založených na linuxovém jádře. Zejména openSUSE a Ubuntu. Pro psaní veškerých textů a programů používám vynikající textový editor Vim. Aplikace se snažím psát vždy v tom nejvhodnějším programovacím jazyk...
Aktivity