Testy výkonnosti

Zde budou výsledky rychlostních testů C-SaCzechu a SaCzechu na různých systémech. Výsledky budou co možná nejvíc přesné, ale samozřejmě nelze zajistit 100% stejné podmínky při každěm testu, protože
"Nevstoupíš dvakrát do stejného Unixu."
Dají však jakýsi základní přehled o tom, jak to přibližně vypadá.

 

Výsledky

 


  Test č.1

Test probíhal na počítači dior.ics.muni.cz. s operačním systémem SunOs 5.4. Tento počítač je osazen čtyřmi procesory UltraSparc a běží na něm operační systém SunOS 5.4. Funguje jako mail, news, www, proxy, gopher, tinlib a samba server.
Testován byl C-SaCzech 1.21 a SaCzech 2.2.

Výsledky testů zde nejsou pro C-SaCzech tak růžové jako namátkové testy na aisa.fi.muni.cz. C-SaCzech je zde přinejlepším přibližně dvakrát rychlejší než SaCzech, pro větší soubory pak je jeho rychlost asi 2/3-4/5 rychlosti SaCzechu.

Údaj v prvním sloupci je délka překládaného souboru, dále pak následuje čas překladu pomocí SaCzech, C-SaCzech. Původně tady mělo být ještě WWWdia, ale nepodařilo se mi ho bohužel rozchodit :-(

Čas překladu tvoří tři čísla - první je kolik sekund celkem trval překlad, druhé je kolik z něj "sežral" vlastní proces a třetí kolik času do něj investovalo jádro.
Překlad probíhal tak, že jsem nastavil příslušné proměnné, nutné pro správnou funkci programů, jako by byly spuštěny jako cgi skripty a nechal jsem je vypisovat svůj výsledek na standartní výstup (terminál).
A nyní vlastní tabulka:

        délka    Sáček                 C-Sáček
     ---------------------------------------------------
        1300     0.17, 0.12, 0.09      0.08, 0.02, 0.05
        8000     0.16, 0.10, 0.08      0.11, 0.04, 0.06
      100000     0.28, 0.17, 0.11      0.18, 0.12, 0.06
      200000     0.46, 0.30, 0.15      0.31, 0.20, 0.09
      300000     0.51, 0.42, 0.09      0.39, 0.33, 0.05
      400000     0.64, 0.57, 0.07      0.49, 0.42, 0.06
      500000     0.75, 0.70, 0.06      0.59, 0.51, 0.07
      800000     1.11, 1.06, 0.04      0.91, 0.86, 0.05
     ---------------------------------------------------
Poslední hodnoty už jsou jen pro zajímavost, aspoň já neznám žádnou WWW stránku dlouhou 800KB.

Čas překladu metodou HTTP jsem otestoval jen několikrát, vždy s přibližně stejnými výsledky, něco jako:

       Sáček                C-Sáček
     ----------------------------------------
       0.66,0.17,0.12       1.30, 0.04, 0.08
     ----------------------------------------
ZPET Seznam testů

 


  Test č.2

Test probíhal opět na počítači dior.ics.muni.cz. Testován byl C-SaCzech 1.3 proti SaCzechu 2.2.

Skriptům byly nastaveny příslušné proměnné prostředí tak, jako by byly spuštěny WWW serverem. Jejich výstup byl přesměrován do /dev/null, aby výsledky nebyly zkresleny pomalým výstupem na terminál. Čas běhu byl změřen pomocí time. Měřeno bylo celkem třikrát, uvedená hodnota je prosřední z nich (nikoli střední).
Tři časy pro každou velikost souboru a program znamenají postupně celkový čas běhu, část času stráveném v uživatelském režimu a část strávenou v režimu jádra.

Čas běhu CSáčku byl při metodě file v mezích 2/3 - 3/4 času běhu SaCzechu. Při použití metody http byl do velikost souboru 32K přibližně 3-4x rychlejší, pro větší soubory pak 2-1.5x rychlejší než SaCzech.

Metoda file:

        délka    Sáček                 C-Sáček
     ---------------------------------------------------
	 1K	 0.23s, 0.10s, 0.08s   0.12s, 0.03s, 0.05s
	 2K	 0.16s, 0.08s, 0.09s   0.18s, 0.03s, 0.08s
	 4K	 0.21s, 0.10s, 0.09s   0.15s, 0.05s, 0.07s
	 8K	 0.24s, 0.10s, 0.10s   0.17s, 0.03s, 0.04s
	16K	 0.33s, 0.12s, 0.10s   0.18s, 0.07s, 0.06s
	32K	 0.27s, 0.16s, 0.09s   0.23s, 0.07s, 0.05s
	64K	 0.45s, 0.27s, 0.10s   0.34s, 0.12s, 0.08s
       128K	 0.66s, 0.44s, 0.12s   0.51s, 0.26s, 0.07s
       256K	 0.82s, 0.54s, 0.16s   0.65s, 0.41s, 0.06s
       512K	 1.26s, 1.02s, 0.11s   0.97s, 0.77s, 0.11s
	1MB	 2.85s, 2.05s, 0.14s   1.74s, 1.53s, 0.11s
	2MB	 6.81s, 5.15s, 0.16s   4.62s, 2.98s, 0.25s
	4MB	 10.94s, 7.66s, 0.31s  7.43s, 6.12s, 0.24s
     ---------------------------------------------------
Metoda http:
        délka    Sáček                 C-Sáček
     ---------------------------------------------------
         1K      0.74s, 0.36s, 0.14s   0.19s, 0.02s, 0.08s
	 2K	 0.93s, 0.35s, 0.17s   0.27s, 0.03s, 0.08s
	 4K	 0.82s, 0.38s, 0.18s   0.31s, 0.05s, 0.09s
	 8K	 1.01s, 0.39s, 0.21s   0.48s, 0.03s, 0.11s
	16K	 1.05s, 0.37s, 0.17s   0.28s, 0.06s, 0.09s
	32K	 1.03s, 0.41s, 0.22s   0.29s, 0.06s, 0.10s
	64K	 0.94s, 0.49s, 0.16s   0.42s, 0.17s, 0.07s
       128K	 1.16s, 0.52s, 0.25s   0.47s, 0.25s, 0.06s
       256K	 0.86s, 0.58s, 0.15s   0.49s, 0.33s, 0.10s 
       512K	 1.45s, 0.89s, 0.22s   0.77s, 0.43s, 0.12s
	1MB	 2.02s, 1.39s, 0.28s   1.53s, 1.03s, 0.15s
	2MB	 4.30s, 2.69s, 0.23s   2.64s, 1.72s, 0.18s
	4MB	 9.51s, 4.84s, 0.48s   6.56s, 3.26s, 0.36s
     ---------------------------------------------------
ZPET Seznam testů

 


  Test č.3

Test probíhal na počítači saruman.ics.muni.cz. Tento počítač je PC osazené procesorem Cyrix 6x86 120MHZ, 32MB RAM, operační systém NetBSD 1.2. V době testování nebyl nijak zvlášť zatížen.
Testován byl CSáček 1.3 proti SaCzechu 2.2.

Skriptům byly nastaveny příslušné proměnné prostředí tak, jako by byly spuštěny WWW serverem. Jejich výstup byl přesměrován do /dev/null, aby výsledky nebyly zkresleny pomalým výstupem na terminál. Čas běhu byl změřen pomocí time. Měřeno bylo celkem třikrát, uvedená hodnota je prosřední z nich (nikoli střední).
Tři časy pro každou velikost souboru a program znamenají postupně celkový čas běhu, část času stráveném v uživatelském režimu a část strávenou v režimu jádra.

CSáček je při metodě file obvykle dvakrát rychlejší než Sáček, pro malé (cca. do 16K) soubory dokonce třikrát rychlejší.
Největší překvapení připravily testy při použití metody http. CSáček byl pro velmi malé (do 4K) soubory dokonce 7x rychlejší než SaCzech, pro malé až střední (8K-64K) 4-5x rychlejší a pro větší přibližně 3-2x rychlejší. Pro malé soubory pravděpodobně hrálo velkou roli, že perlovský skript se musí nejdřív interpretovat, což u kompilovaného CSáčku samozřejmě neplatí.

Metoda file:

        délka    Sáček                 C-Sáček
     ---------------------------------------------------
         1K      0.09s, 0.06s, 0.01s   0.04s, 0.01s, 0.03s
	 2K	 0.10s, 0.05s, 0.03s   0.03s, 0.04s, 0.03s
	 4K	 0.09s, 0.06s, 0.02s   0.03s, 0.04s, 0.02s
	 8K	 0.11s, 0.07s, 0.04s   0.04s, 0.02s, 0.04s
	16K      0.15s, 0.09s, 0.03s   0.05s, 0.02s, 0.04s
	32K      0.17s, 0.13s, 0.04s   0.07s, 0.06s, 0.04s
	64K	 0.24s, 0.18s, 0.05s   0.09s, 0.09s, 0.03s
       128K	 0.37s, 0.31s, 0.05s   0.15s, 0.14s, 0.03s
       256K	 0.68s, 0.63s, 0.04s   0.27s, 0.28s, 0.03s
       512K	 1.24s, 1.16s, 0.05s   0.53s, 0.42s, 0.12s
        1MB	 2.40s, 2.27s, 0.04s   1.00s, 0.94s, 0.07s
	2MB	 5.88s, 4.54s, 0.53s   2.72s, 1.94s, 0.44s
	4MB      10.16s, 8.86s, 0.82s  5.25s, 3.76s, 0.91s
     ---------------------------------------------------
Metoda http:
        délka    Sáček                 C-Sáček
     ---------------------------------------------------
	 1K	 0.30s, 0.18s, 0.11s   0.04s, 0.00s, 0.03s
	 2K	 0.29s, 0.22s, 0.06s   0.04s, 0.00s, 0.01s
	 4K	 0.30s, 0.22s, 0.06s   0.04s, 0.01s, 0.01s
	 8K	 0.31s, 0.20s, 0.07s   0.06s, 0.01s, 0.05s
	16K	 0.32s, 0.24s, 0.06s   0.07s, 0.00s, 0.05s
	32K	 0.34s, 0.27s, 0.06s   0.07s, 0.02s, 0.04s
	64K	 0.40s, 0.31s, 0.07s   0.10s, 0.06s, 0.04s
       128K	 0.49s, 0.41s, 0.04s   0.14s, 0.10s, 0.04s
       256K	 0.70s, 0.57s, 0.10s   0.26s, 0.16s, 0.04s
       512K	 1.13s, 0.94s, 0.07s   0.48s, 0.37s, 0.07s
 	1MB	 1.90s, 1.63s, 0.13s   0.92s, 0.71s, 0.09s
	2MB	 4.21s, 3.01s, 0.17s   2.33s, 1.35s, 0.24s
	4MB	 7.99s, 6.05s, 0.24s   4.46s, 2.81s, 0.36s
     ---------------------------------------------------
ZPET Seznam testů


ZPET Hlavní stránka

Tato stránka je součástí dokumentace programu C-SaCzech.