Testy výkonnosti"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ů 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ů
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
---------------------------------------------------
Seznam testů
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
---------------------------------------------------
Seznam testů
Hlavní stránka
Tato stránka je součástí dokumentace programu C-SaCzech.