Feb 14 2006
Proste testy:
Filed under MVC,PHP by Łukasz Dywicki
Rozmawiałem wczoraj z Zyxem na temat testów czasowych i dowiedziałem się, że korzysta on do tego celu z apache benchmark – nie zwlekając również wykonałem testy…
Pomiary wykonane przy użyciu apache benchmark (apache 2.0.53, php 5.1.1) dla 500 requestów.
Odczyt pliku 70 KB
file+implode: 5.640589 s
file_get_contents: 2.562484 s
Frameworki:
CakePHP (z warrningiem dot. połączenia mysql): 76.421385 s
Mojavi 3.0-dev (debug_mode = off): 63.155846 s
Agavi 0.10-stable (debug_mode = off): 51.187172 s
PSF: 46.390328 s (bez cache configa etc)
Prado 2.0.1 (też Hangman): 169.14543 s
Prado 3.0-alpha (Samples.Hangman.Home): 196.279994 s
Odin: 28.499818 s
Phiend: 11.359303 s (gołe hello world)
Daeron: 1.156242 s
Pinky: 53.843750 s
Wygrywa, jak zwykle pod względem optymalizacji niedościgniony Odin.. phienda nie biorę pod uwagę ponieważ w wersji którą mam u siebie nie jest to pełna implementacja MVC – kod html w kodzie akcji, Daeron kończył pracę bardzo wcześnie, jak tylko wykrył, że nie mam zainstalowanego PDO. Co mogę powiedzieć o Prado – optymalizacja jego developerom jest najwyraźniej obca.. miło mnie zaskoczył lepszy wynik agavi od mojavi, widać coś poprawili :). Cieszy mnie również, że PSF jest na 2 miejscu, a jeśli się je doszlifuje, może przybliżyć się do pierwszego miejsca.. :)
Co będziemy dużo gadać, polaki wymiatają :)
Wymiatający Polaku, moja ksywka się przez przypadki odmienia! :D
Fajnie być fajnym, co nie? :P
No panowie, porównujemy czasy, a nie porównujemy możliwości? To trochę niesprawiedliwe. Moim zdaniem nie można porównywać np. Prado z Phiendem. To nie ten sam poziom! Prado ma przecież mnóstwo gotowych komponentów itd… Phiend jest "goły" jak to sam ująłeś.
Same czasy, to jeszcze nie wszystko.
Tutaj zgadzam sie z seaquest’em. Niemozemy w ten sposob porownywac wydajnosci. Norma jest ze jesli poucinamy wszystkie komponenty z kazdego z tych frameworkow i zrownamy je pod wzgledem mozliwosci to testy napewno wypadna w czasach porownywalnych +- jakis tam niewielki procent (no chyba ze ktos naprawde sie niespostaral to znajdzie sie jakis rodzynek).
Przy wyborze frameworka powinnismy przeciez sie kierowac rodzajem i wymogami projektu oraz jakoscia samego frameworka pod wzgledem wykonania. Pozniej podczas pracy nad samym projektem, w momencie gdy wybieramy ten najszybszy(ubozszy) to sie okazuje ze i tak trzeba implementowac jakies nowe funkcjonalnosci przy czym ten szybki framework zaczyna w czasie zrownywac sie z tymi co wyszly gorzej ;)
Peace
A o co chodzi z tym warningem w CakePHP? No i czy z włączonym debugerem? ;)