Test proveden vždy 50 000× a probíhal kvůli zjištění, zdali je optimálnější použít na rozvětvování akcí (např. nad indexem) IF ELSE nebo SWITCH. Htaccess převádí veškeré požadavky do indexu, ten nejprve zpracuje předanou URL a poté větví akce.
1) if else, 19× + f-ce porovnávající zač. řetězce (z předané URL)
=====================================
první podmínka: 0.2172 s
poslední podmínka: 2.0300 s
neexistující podmínka: 2.2804 s (poslední else)
HP: 0.0076 s
2) switch, 19× case, 1× preg_match (na předávanou URL)
=====================================
první podmínka: 0.2644 s
poslední podmínka: 0.2701 s
neexistující: 0.2710 s (např. výpis profilu, větev default)
HP: 0.2088 s
3) switch, 19× case, 1× preg_match pouze pokud neni HP (optimalizace) =====================================
první podmínka: 0.2643 s
poslední podmínka: 0.2726 s
neexistující: 0.2779 s (např. výpis profilu, větev default)
HP: 0.0077 s
Nejoptimálnější je tedy v indexu vzít URL, pokud to je HP (tedy URL bez parametrů), přejít na ni, pokud ne, zpracovat URL regulárem a pak větvit pomocí SWITCH.
Poslední podmínka je tak o celý řád efektivnější (rychlejší) v případě SWITCH, než za použití IF ELSE.
U obou, SWITCH i IF ELSE platí, že co se používá nejčastěji (HP [hlavní stránka], články...), to dát ve větvení nahoru.
Jen tak pro zajímavost :-).