Názor ke článku Routování? Ano, ale jinak od kvr kvr - V zásadě zajímavé téma o problémech, které PHP...

  • 28. 4. 2023 18:07

    kvr kvr

    V zásadě zajímavé téma o problémech, které PHP přináší. A znovu s otazníkem, zda je PHP pro větší weby dobrá varianta. Ano, izolace komponent není v zásadě špatný nápad, kromě výkonu v PHP je to spíš rozdělení na sub services (stále tedy běžící v rámci jednoho serveru).

    Výkon bude záležet na tom, jak hierarchická ta struktura bude, což od jisté úrovně nejspíš přestane fungovat (typicky REST API bude na stejné struktuře a těch controllerů tam bude pro velkou aplikaci hodně).

    Ohledně čísel - kdysi jsem řešil podobný problém, ani ne tak z důvodu výkonu, ale hlavně znovupoužitelnosti web komponent a jejich vnořování. Ten výkon nebyl nijak špatný. Přidal jsem ze zvědavosti ještě 1000 routes a load trvá asi 3 ms (Core i7-1185G7), včetně sestavení vyhledávacího stromu. Nicméně je to XML - dřívější testy jinde mi ukazují, že JSON je asi 5-krát rychlejší, takže se dá očekávat asi 600-800 ms na load 1000 routes. Samotný resolve nad vyhledávacím stromem zabral 171 ns / request.

    Byla to tedy Java, u PHP bude logicky pomalejší. Ale to je zpět k otázce, zda vůbec volit PHP pro větší weby. Routování bude jen jedna z věcí, další problém bude třeba lokalizace, která typicky nahraje stovky záznamů a použije pár z nich (kdysi jsem ještě v PHP optimalizovat a používal BerkleyDb a podobné a nakonec se ukázalo nejrychlejší načtení všeho z CSV).