"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 ----------------------------------------
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 ---------------------------------------------------
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 ---------------------------------------------------
Tato stránka je součástí dokumentace programu C-SaCzech.