Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Rychlost spuštění aplikace

Potřeboval jsem opakovaně spouštět nějakou jednoduchou funkci a bylo mi vcelku jedno, v jakém jazyku bude napsána. Tak mě napadlo, že změřím, jak dlouho trvá spuštění procesu v různých jazycích.

Měřil jsem několikrát, vždy druhý nejlepší čas, abych vyloučil vliv načítání z HDD. Programy byly velmi krátké, klasický "Hello, world". Měřil jsem tedy ve skutečnosti jen dobu načtení běhového prostředí aplikace.

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

Jak se dalo předpokládat, zvítězil jazyk C téměř neměřitelným časem. Nemá žádné běhové prostředí, není v něm co nastavovat. V závěsu Lua a kupodivu Bash. Proč? Základní části těchto interpretrů jsou velmi krátké. Další byly interpretry Lispu a Pythonu, o kus dál PHP.

A poslední? Z běžně používaných jazyků to byla opěvovaná a současně proklínaná Java. V tomto testu úplně propadla, i když v jiných testech dokáže být rychlejší, než program napsaný v C. Zde se jasně prokázalo, že na drobné utility se prostě nehodí, že její doménou jsou velké aplikace.

Dodatečně jsem si vzpomněl ještě na Perl. Svým výsledkem 8 ms se řadí ke špičce mezi interpretovanými jazyky, alespoň v případě krátkých utilit. Bohužel se na velké aplikace moc nehodí.

Jen z legrace jsem otestoval AWK, protože se jedná o jazyk určený spíše pro speciální účely a má poměrně neobvyklou syntaxi. Se svým spouštěcím časem 4 ms se však téměř vyrovnal programu napsanému v C, ale vývoj drobné aplikace je v něm nesrovnatelně kratší.

Velmi překvapil xsltproc. O XSLT bylo napsáno mnoho polopravd a mýtů ohledně rychlosti. Výsledek 6 ms předčil očekávávání. Konkrétně xsltproc byl napsán v jazyku C tak, aby byl co nejrychlejší. Protipólem byl Saxon, který stejnou aplikaci spouštěl mnohem déle.

Cokoli pod 10 ms se dá považovat za vynikající výsledek, bohužel je to však současně hranice přesnosti použitého měření. K rozhodování o tom, který jazyk si vybrat, by se měly brát v úvahu spíš ostatní vlastnosti.


 

Všechny články v sekci
Články nejen o programování
Článek pro vás napsal Kit
Avatar
Uživatelské hodnocení:
6 hlasů
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