Some of posts from this blog has been moved to dywicki.pl. You will be automatically redirected to new blog if you would submit comment.
New posts are published on dywicki.pl, this blog contains old content and it is not continued.

Niektóre posty z tego bloga zostały przeniesione do dywicki.pl. Zostaniesz automatycznie przekierowany jeśli bedzięsz chciał dodać komentarz.
Nowe posty sa publikowane na dywicki.pl, ten blog zawiera stare treści i nie jest kontynuowany.

O::ptimization

Filed under PHP by

Jako, że prace nad frameworkiem troszkę się posunęły (doszło uruchamianie akcji) postanowiłem sprawdzić ile czasu zajmuje jedno ządanie. Jakież było moje zaskoczenie, gdy mym oczom ukazał się czas ponad 1 sekundy. Szybko sobie jednak przypomiałem, że autoloader jest do wymiany. Przebudowałem stary tak, aby współpracował z tokenizerem beli. Zmiana – względem poprzedniego czasu – znaczna. Czas spadł do około 0.2 s. Kilka poprawek i zszedłem poniżej – teraz czas jednego rządania wynosi od 0.12 do 0.15 s. Stwierdziłem, że to strasznie długo tym bardziej, że nie ma jeszcze obsługi kilku istotnych rzeczy (FilterChain, Validator, View, ActionForms). Wniosek? Błędy w projekcie. Oto porównanie z innymi skryptami, które udało mi się odanleść na dysku:

Mój framework:
czas od 0.12 do 0.15 – 33 włączone pliki.

Odin:
czas od 0.047 do 0.063 – 23 włączone pliki (w tym Smarty.class.php)

Blog+ (Pinky):
czas od 0.24 do 0.26 – 58 włączonych plików (plus połączenie z MySQL)

Daeron:
czas od 0.92 do 0.96 – 15 włączonych plików (PDO zgłasza wyjątek)

Cake:
czas od 0.11 do 0.14 – 28 włączonych plików (troszkę niedziałająca wersja)

Mojavi 3.0:
czas od 0.16 do 0.23 – 41 włączonych plików (PHPView, bez połączenia z bazą)

Co dziwne – najmniej włączający Daeron okazał się znacznie wolniejszy od reszty. Za to kolejny pod względem liczby dołączanych plików Odin najszybszy. Przypadek? Trudno powiedzieć, ponieważ wszystkie testowane frameworki/aplikacje są w różnym stadium rozwoju. Obrazowo – Odin szybszy od Daerona ponad 19 razy, a od drugiego w testach Cake’a o ponad 2 razy. Stosunek czasów Odina do Blog+ i Mojavi to 5 i 3. Podkreślam, że testy były przeprowadzane manualnie i pomyłki są bardzo prawdopodobne. Testy przeprowadziłem na swoim domowym sprzęcie: Athlon 2000 XP (1.67 Ghz), 768 MB RAM (DDR 400), OS: Windows XP HE, Apache 1.3.33 i PHP 5.1.0 b2 (z PDO i XSL). W tle działały wciąż te same aplikacje.

5 responses so far

5 Responses to “O::ptimization”

  1. bela_666 says:

    Hahahaha, moja kobyła najszybsza :D
    No i kto mi teraz udowodni, że smarty jest wielkie? :P
    U mnie czasy są jeszcze szybsze ;)

  2. splatch says:

    Będzie z czego zżynać. Chociaż dziwne, że Smarty nie ładowało kompilatora. ;)
    No i czasy nie mogą być szybsze tylko lepsze.. BTW masz nowszą wersję? : ]

  3. chmolu says:

    Nie wiem jakim cudem wyszedł ci taki czas w moim Daeronku. U mnie na localu czas generowania strony nie przekracza nawet 0.01

  4. chmolu says:

    Żeby nie być gołosłownym, wrzuciłem screena strony wyświetlającej najprostszy obiekt contentu: img85.imageshack.us/my.ph…

  5. splatch says:

    W przyszłym tygodniu pokaże screen shota. Poważnie, mi wskakuje czas 0.8 – ale nie wiem, może przez wyjątek po próbie połączenia z bazą danych?

Leave a Reply