![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie,
Biorąc pod uwagę opinie i zalecenia forumowiczów , powstała pierwsza stabilna i oficjalna wersja klasy Chameleon do obsługi szablonów. Na wstęp drobne porównanie z klasą Smarty. Test symulujący całkowite przeładowanie strony z wykorzystanie cache dyskowego. Smarty korzysta ze skompilowanych szablonów , Chameleon z mapy tagów : Smarty : 500 iteracji (20 zmiennych) = 0.3475s Smarty : 500 iteracji (10 zmiennych) = 0.3067s Smarty : 500 iteracji (5 zmiennych) = 0.2965s Chameleon : 500 iteracji (20 zmiennych) = 0.2336s Chameleon : 500 iteracji (10 zmiennych) = 0.2095s Chameleon : 500 iteracji (5 zmiennych) = 0.2105s Kolejny test symulujacy kilkakrotne parsowanie szablonu podczas jednego wywolania strony, sytuacja ma miejsce gdy parsujemy kilkakrotnie ten sam szablon (np. formatka newsa) z zaladowana mapa tagow w pamieci. Oto wyniki : Smarty : 500 powtórzeń (20 zmiennych) = 0.2462s Chameleon : 500 powtórzeń (20 zmiennych) = 0.0981s ---------------- Co potrafi Chameleon : # Cache tagow na dysku twardym # Zmienne typu : {zmienna} {test} # Zmienne tablicowe jednowymiarowe : {tablica[0]} {tablica[1]} # Zagniezdzone IFy dowolnej glebokosci z obsluga negacji oraz ELSE (Narazie warunek sprawdzany jest logicznie tylko czy zmienna jest ustawiona) # Petle szablonowe # Podswietlanie blednych tagow # Proste operacje matematyczne ----------------------------------------------------------
Przyklad 1 : Zmienne zwykle Szablon : http://www.vertis.com.pl/chameleon/example...es/example1.tpl Demo : http://www.vertis.com.pl/chameleon/example...es/example2.php --
Przyklad 3 : Zmienne tablicowe Szablon : http://www.vertis.com.pl/chameleon/example...es/example3.tpl Demo : http://www.vertis.com.pl/chameleon/example...es/example3.php --
Przyklad 6 : Warunki Szablon : http://www.vertis.com.pl/chameleon/example...es/example6.tpl Demo : http://www.vertis.com.pl/chameleon/example...es/example6.php --
Przyklad 7 : Petle w szablonie Szablon : http://www.vertis.com.pl/chameleon/example...es/example7.tpl Demo : http://www.vertis.com.pl/chameleon/example...es/example7.php -- Klasę w wersji 1.0.0 można pobrać z http://www.vertis.com.pl/ Ten post edytował Bastion 18.06.2006, 22:58:47 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
To znowu ja (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Chcialem poczekac na RC3 OPT, bo w obecnej wersji jest blad z tym co pisalem wyzej, ale cos doczekac sie nie moge (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Wprowadzilem pare malych zmian, aby kod byl troche czytelniejszy, no i teraz przy wlaczonym cachowaniu nie pobieraja sie dane (wczesniej sie pobieraly mimo wlaczonego cachowania, wiec niepotrzebny narzut). Spowodowalo to lekkiego boosta w testach z cachem (tam gdzie jest on dostepny), no ale dziwne to raczej nie jest. Dodalem tez nowy szablon, ktory rozni sie od pierwszego tylko tym, ze tablica, po ktorej ten szablon iteruje zawiera obiekty, a nie tablice asocjacyjne. Ponizej zamieszczam nowe wyniki. Kod Cache = 0 Template = tpl_1.html Testing Chameleon 1.1.0 CVS => skipped Testing Chameleon 1.1.5 => skipped Testing Chameleon 1.2.0 => 100.00 requests/s Testing Nemesis 1.3.0b => 137.14 requests/s Testing OPT 1.0.0 RC2 => skipped Testing OPT 1.0.0 RC2 Lite => skipped Testing Savant 2.4.2 => 126.32 requests/s Testing SmartTemplate 1.0.2 => skipped Testing Smarty 2.6.12 => 71.11 requests/s Testing Smarty Light 2.2.11 => 57.14 requests/s Cache = 1 Template = tpl_1.html Testing Chameleon 1.1.0 CVS => skipped Testing Chameleon 1.1.5 => skipped Testing Chameleon 1.2.0 => 106.67 requests/s Testing Nemesis 1.3.0b => 290.91 requests/s Testing OPT 1.0.0 RC2 => skipped Testing OPT 1.0.0 RC2 Lite => skipped Testing Savant 2.4.2 => 126.32 requests/s Testing SmartTemplate 1.0.2 => skipped Testing Smarty 2.6.12 => 117.07 requests/s Testing Smarty Light 2.2.11 => 162.71 requests/s Cache = 0 Template = tpl_2.html Testing Chameleon 1.1.0 CVS => 76.80 requests/s Testing Chameleon 1.1.5 => 102.13 requests/s Testing Chameleon 1.2.0 => 97.96 requests/s Testing Nemesis 1.3.0b => 162.71 requests/s Testing OPT 1.0.0 RC2 => 100.00 requests/s Testing OPT 1.0.0 RC2 Lite => 109.09 requests/s Testing Savant 2.4.2 => 123.08 requests/s Testing SmartTemplate 1.0.2 => 165.52 requests/s Testing Smarty 2.6.12 => 87.27 requests/s Testing Smarty Light 2.2.11 => 128.00 requests/s Cache = 1 Template = tpl_2.html Testing Chameleon 1.1.0 CVS => 76.80 requests/s Testing Chameleon 1.1.5 => 102.13 requests/s Testing Chameleon 1.2.0 => 97.96 requests/s Testing Nemesis 1.3.0b => 223.26 requests/s Testing OPT 1.0.0 RC2 => 123.08 requests/s Testing OPT 1.0.0 RC2 Lite => 110.34 requests/s Testing Savant 2.4.2 => 124.68 requests/s Testing SmartTemplate 1.0.2 => 162.71 requests/s Testing Smarty 2.6.12 => 93.20 requests/s Testing Smarty Light 2.2.11 => 110.34 requests/s Cache = 0 Template = tpl_3.html Testing Chameleon 1.1.0 CVS => skipped Testing Chameleon 1.1.5 => skipped Testing Chameleon 1.2.0 => skipped Testing Nemesis 1.3.0b => 128.00 requests/s Testing OPT 1.0.0 RC2 => skipped Testing OPT 1.0.0 RC2 Lite => skipped Testing Savant 2.4.2 => 115.66 requests/s Testing SmartTemplate 1.0.2 => skipped Testing Smarty 2.6.12 => 66.67 requests/s Testing Smarty Light 2.2.11 => skipped Cache = 1 Template = tpl_3.html Testing Chameleon 1.1.0 CVS => skipped Testing Chameleon 1.1.5 => skipped Testing Chameleon 1.2.0 => skipped Testing Nemesis 1.3.0b => 266.67 requests/s Testing OPT 1.0.0 RC2 => skipped Testing OPT 1.0.0 RC2 Lite => skipped Testing Savant 2.4.2 => 118.52 requests/s Testing SmartTemplate 1.0.2 => skipped Testing Smarty 2.6.12 => 115.66 requests/s Testing Smarty Light 2.2.11 => skipped I zrodelka... http://willow.iie.uz.zgora.pl/~ipatalas/dev/tpl_bench_AB.rar oraz dla windowsa minimalna wersja narzedzi potrzebnych do automatycznego wykonywania testu: http://willow.iie.uz.zgora.pl/~ipatalas/dev/unxutils.rar (wszystkie pliki oprocz cygwin1.dll oraz sh.exe musza byc gdzies w %PATH%) Wywolanie testu polega na odpaleniu konsoli i wpisaniu w tym katalogu sh test.sh. Nie testowalem tego pod unixami, wiec prosze kogos o sprawdzenie w miare mozliwosci tego skryptu. Zapraszam do potestowania u siebie oraz do ewentualnego uzupelnienia szablonow tam gdzie brakuja jak ktos potrafi i ma czas. Pomysly na rozbudowanie szablonow lub dodanie nowych rowniez mile widziane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 20:49 |