[addon presenterTreePanel] PresenterTreePanel
- Mikulas Dite
- Člen | 756
Diskuse ke stránce PresenterTreePanel
Vytvořil jsem pro to kategorii Panely pro DebugBar. Mě se ten název líbí, ale jestli máte lepší…
A překvapilo mě, že DebugBar si panely cachuje sám – nejsou to nějaká kouzla? V kódu jsem to na první pohled neviděl.
Editoval Mikulas Dite (19. 4. 2010 14:47)
- Mikulas Dite
- Člen | 756
Bez cache při prvním puštění cca 160ms, pak každé další 30ms. Když cachuju getPanel interně, tak se to o cca 2ms zpomalí. Z toho sem to vyvodil, ale možná že je to někde jinde.
A předtim sem moduly fixnul blbě – teď sem to otestoval na modulech pořádně a opravil to, nyní opravdu funguje. ; )
Navíc teď řeším, co dát do názvu tabu, protože teď je tam to stejný co v routeDebuggeru. Má někdo nápad?
Btw, přidal sem persistentní parametry, ale zobrazují se pro každou action. Zatim je to feature, ale až budu mít lepší UI, tak to dám separátně k presenteru.
- jasir
- Člen | 746
Potvrzuju, teď už to funguje s modulama moc pěkně.
Paráda, díky, začínám používat.
K té cache – to se fakt samo necachuje, jak by Debug poznal, jestli to
má cachovat nebo ne?
Čili cachování bych doporučil asi znovu implementovat.
Jinak do panelu bych dal jen „Presenters“ , případně „Presenters
(25)“.
Málá připomínka – název PresenterTree je zavádějící, protože to co
generuje není PresenterTree ale spíš PresenterList, ne? Ale to je detail.
- Mikulas Dite
- Člen | 756
jasir napsal(a):
K té cache – to se fakt samo necachuje, jak by Debug poznal, jestli to má cachovat nebo ne?
Čili cachování bych doporučil asi znovu implementovat.
Mě se to zdálo divný. Třeba se cachuje celej debugBar? Vyzkoumám.
Jinak do panelu bych dal jen „Presenters“ , případně „Presenters (25)“.
Jo, to je dobrý. Dík
Málá připomínka – název PresenterTree je zavádějící, protože to co generuje není PresenterTree ale spíš PresenterList, ne? Ale to je detail.
Doufám, že časem to tree bude – až mě napadne, jak normálně vykreslit multidimenzionální pole do tabulky…
- Mikulas Dite
- Člen | 756
Jak řešit linkování, které vyžaduje nějaký persistentní nebo obyčejný parametr? Šlo by to přes anotace, například
/**
* @persistent
* @defaultLink = default value
*/
public $mission_id;
nebo
/**
* @article_id = default value
*/
actionOverview($article_id);
Mělo by se to u obou typů zadávat stejně, pokuď možno tak, aby bylo jasné, že jde o default value jenom pro tenhle panel. Tzn. třeba použít první způsob a zadávat default value pro metody jako pole? Nebo něco lepšího?
- Mikulas Dite
- Člen | 756
Jasir cache verze:
generování cache
355.2
371.6
357.9
368.2
372.6
=====
365.1 ms
po prvním vygenerování
54.0
57.2
55.3
58.1
64.7
====
57.86 ms
Verze bez interní cache:
generování bez cache
368.3
351.3
355.6
350.8
352.8
=====
355.76 ms
po prvním vygenerování
53.7
60.3
52.5
51.7
53.0
=====
54.24 ms
Viděl bych to tak, že někde se to cachuje – bar to sám nedělá (?), v template to taky neni, tak kde?
@jasir: vážně tam máš takový zrychlení? Jak dlouho ti trvá normální požadavek, potom co se to vygeneruje?
Editoval Mikulas Dite (22. 4. 2010 10:16)
- jasir
- Člen | 746
Tak to je zajímavé. U mě jsou časy vygenerování tree okolo 150ms (testuji asi na 15 presenterech), další vykreslení z cache trvá 5ms.
Měřím teď čas vykreslení panelu, tedy takto https://github.com/…reePanel.php#L49
Při verzi bez cache dostávám přirozeně stále okolo 150ms.
- Mikulas Dite
- Člen | 756
Já sem bral celkovou dobu načtení aplikace, někde se to určitě cachuje – to testuješ na nejnovější verzi nette, viď?