Anti DevBlog

Pariodia blogowania, w konwencji psycho devbloga.

Porównanie szybkości Smarty i Template Lite

Jednym z głównych argumentów przeciwników systemów szablonów jest ich powolność i spore rozmiary dodatkowego kodu, który należy dołączyć do projektu. Głównie w ogień krytyki trafia Smarty, który przez ostatnie lata stał sie niemal nieformalnym standardem, oferując bardzo szeroki wachlarz funkcjonalności i dość dobrą szybkość.

Powstała grupa osób, która niechcąc odrzucać “standardu” Smarty na rzecz dużo uboższych lecz ponoć szybszych (stwierdzenie tego wymagałoby dogłębnych testów) rozwiązań szablonowych, postanowiła stworzyć uproszczoną (pozbawioną niepotrzebnej funkcjonalności) oraz poprawioną wersję Smarty, która nazwali Template Lite (wcześniej projekt nosił nazwę Smarty Lite).

Twórcy Template Lite głoszą nowinę, że ich rozwiązanie jest dużo szybsze, mniejsze, zgrabniejsze etc. Postanowiłem porównać szybkość najnowszych dostępnych wersji Smarty 2.6.18 i Template Lite 2.10 bez zagłębiania się w szczegóły różnic implementacji funkcjonalności oraz bez dodatkowej optymalizacji konfiguracji,  używając plików jak zostały dostarczone w archiwum.

Procedura testowa nie zmieniła się od czasu napisania artykułów o systemach szablonów (szczegółowa metodologia) , natomiast po tych 5 latach uległa zmianie platforma sprzętowa i programowa. Testy zostały wykonane na niewiele obciążonym serwerze wyposażonym w Athlon 64 3700+, 2 GB RAM, 2 dyski  320 GB  spięte w RAID 1, napędzanym przez system operacyjny FreeBSD 6.2 AMD 64 z PHP 5.2.3 pracującym jako fastcgi oraz serwerem HTTP Lighttpd. Dodatkowo jako akcelerator PHP został użyty Xcache 1.2.0 (wyniki z włączonym Xcache zostały zaprezentowane w kolorze zielonym, a szary kolor prezentuje czyste PHP, bez włączonego Xcache). Szybkość testowana była za pomocą Apache Benchmark 2.0.40-dev.

Wyniki testów

Jak widać Template Lite jest rzeczywiście szybsze, jeśli nie stosujemy akceleratora (opcode cache) PHP (Xcache wyłączony) natomiast przegrywa znacznie, jeśli taki program używamy. Raczej trudno w dzisiejszych czasach znaleźć dobry hosting, który by działał na czystym PHP.

Być może coś nie tak ustawiłem w konfiguracji Template Lite, że wypadł tak blado, do artykułu dołączam pełne archiwum zawierające Smarty, Template Lite oraz pliki testowe (test1.php i test2.php) znajdujące się w podkatalogach demo/ każdego z systemów.

Zwycięzcą jest? 

Tak więc werdykt może być tylko jeden zostaje przy Smarty, chyba, że czytelniku znasz szybszy mechanizm oferujący choć połowę funkcjonalności Smarty?

Jako ciekawostkę dodam, że w przypadku gdy Xcache był włączony pierwsze wygenerowanie strony przy skasowanych skompilowanych szablonach, dla Smarty trwało 6 razy dłużej niż dla Template Lite. Jednak ten wynik był odrzucany (zgodnie z metodologią), później Smarty był nie do pobicia.

Jak edukować nie szkodząc?

Bynajmniej nie jest to kolejny humorystyczny lub też tragikomiczny tekst dotyczący szanownego najwyższego, ministra pewnego dość sporego kraju w Europie.

Ten krótki tekst chciałbym poświęcić problemowi powstawania wszelakich stron, z poradami kursami etc. Pozwolę sobie zawęzić tematykę do web masteringu i systemów uniksowych, czyli tematów z którymi mam do czynienia dość długo i można powiedzieć, że liznąłem co nieco ich i nie tylko przez szybę. Rozumiem, że ludzi młodych szczególnie w okresie wakacyjnym napawa chęć zaistnienia w sieci jedni myślą o sławie inni o budowaniu swojego warsztatu czy doświadczenia, które pozwoliłoby im zdobyć pracę inni myślą, że sieć jest łatwym medium w której leży kasa do zgarnięcia, głównie na reklamach. Mało istotny jest powód ważne, że próbują. (Czytaj dalej)

Uroczystość rodzinna

Przedstawiam kolejny wpis, który konwencją odbiega od założeń absurdalności tego miejsca, jak tak dalej pójdzie to blog ten stanie się kolejnym normalnym i nudnawym, nabierze więc takich cech i takiego stylu których miał być przeciwieństwem, wręcz ironią…

Sprawa dotyczy wesela mojego brata, na którym świadkowałem, odbyło się ono w ok. 40 km od mojego miejsca zamieszkania, 4. i 5. sierpnia. Ogólnie impreza bardzo udana, w miłej atmosferze itp. (Czytaj dalej)

Aktualizacja, która mogła pójść lepiej

Po wielu miesiącach wyczekiwania ukazał się (8 maja. br) w końcu na horyzoncie czasoprzestrzennym, główny (anty)bohater dzisiejszego posta FreeBSD 6.1 (który zarządza już trzewiami tego testowego serwera… ale nie uprzedzajmy faktów) .
Tradycyjnie chciałem trochę odczekać od premiery aby zdąrzyły się ujawnić wszelakie luki w bezpieczeństwie i niedociągnięcia… ale nie wytrzymałem i postanowiłem, sobie uprzyjemnić wczorajszy dzień aktualizacją systemu z 6.0 do 6.1. Głównym powodem wielu mrożących krew w żyłach i wyostrzających słownictwo chwil nie była sama aktualizacja, która w sumie dla mnie juz jest rutynowa, ale stan w jakim byłem, kiedy się za nią brałem… a mianowicie, rozciągnięty słupek rtęci do wartości przekraczającej normę, ogólne osłabienie organizmu… i cholernie słabe biorytmy intelektualne (po wczorajszym dniu na serio zacznę w to wierzyć :) .
Zaczęło się około godziny 10.00 od ściągnięcia uaktualnień plików źródłowych systemu za pomocą mechanizmu cvsup
cvsup -L2 cvsup_src
(Czytaj dalej)

Następna strona »