Srovnávací testy vykonnosti

This page is part of documentation of C-SaCzech. It has been created and is maintained by Jaromír Doleček, dolecek@sky.cz |

## Srovnávací 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 - SunOs 5.4 - CSáček 1.21 x SaCzech 2.2 (červen 1996)

- Test č.2 - SunOS 5.4 - CSáček 1.3 x SaCzech 2.2 (4.12.1996)
- Test č.3 - NetBSD 1.2 - CSáček 1.3 x SaCzech 2.2 (4.12.1996)

## 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
         ----------------------------------------

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 dvakrát, uvedená hodnota je ta druhá měřená.
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
         ---------------------------------------------------

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 dvakrát, uvedená hodnota je ta druhá měřená.
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ě odpadá.

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
         ---------------------------------------------------

Seznam testů

Hlavní stránka

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

Zpět

This page is part of documentation of C-SaCzech. It has been created and is maintained by Jaromír Doleček, dolecek@sky.cz
$Id: testy.html,v 1.10 2000/01/25 22:13:01 dolecek Exp $