Vliv počtu rout na rychlost

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
PJK
Člen | 70
+
0
-

Zdravíčko, má někdo lepší představu o tom, jak počet rout ovlivňuje rychlost aplikace (řekněme, že na jedné stránce generuji cca 30 linků)?

Počet rout má vliv na rychlost aplikace, zejména při generování odkazů.

Je trochu vágní…

na1k
Člen | 288
+
0
-

Nedohledal jsem to, ale mám takový pocit, že před nějakou (delší) dobou někdo posílal výsledky svého měření.

Pomalost aplikace s velkým množstvím rout plyne nejspíš z toho, že se vybírá nejkratší routa (nejkratší vygenerovaná adresa).

A tobě nic nebrání si udělat testovací stránku s jedním odkazem, se stovkou a s tisícem. Čas odečteš z debugbaru a alespoň rámcový odhad mít budeš :)

Filip Procházka
Moderator | 4668
+
0
-

Když si nacachuješ vytvořené routy, aby se nemusely mapovat při každém requestu tak tomu dáš určitou rychlost. Samotné Matchování podle mě není takový problém, je to sice regulár, ale když je routa krátká je relativně jednoduchý.

Co se týče generování, při prvním zavolání (beru modelovou situaci výchozí Nette\Application\MultiRoute) se projdou routy a vytvoří se asociativní pole, které pro každý presenter z rout nasbírá jednotlivé Routy a pak se nezkouší, které sedí a které ne, ale když jsou „dobře napsané routy“ a jde tohle asociativní pole vytvořit, volají se na vytvoření linku rovnou routy, které vyhovují. Pokud taková routa nemá výchozí presenter tak se přidá do množiny „*“ která se zkouší, až když nevyhoví z toho pole žádná routa.

takhle logika je obsažená v MultiRouteru :) https://api.nette.org/…ter.php.html#54

David Grudl
Nette Core | 8142
+
0
-

PJK napsal(a):

Zdravíčko, má někdo lepší představu o tom, jak počet rout ovlivňuje rychlost aplikace

Negativně

:-)

PJK
Člen | 70
+
0
-

Co jsem zatím vypozoroval z debug baru, pro stránky s desítkami odkazů znamená routa navíc zpomalení v řádu ms a zpomalování probíhá lineárně. Plánuju to změřit, dám vědět