Porównanie wydajności frameworków

Opublikowane przez Jarosław Zabiełło Sun, 04 Feb 2007 21:54:00 GMT

Ciekawe i dosyć dokładne porównanie wydajności paru frameworków:

Django bez trudu zdeklasowało konkurencję. Szkoda, że w porównaniu nie uwzględniono Pylonsów i CakePHP. Bardzo też dziwne, że nowy Rails 1.2.1 w tych testach jest mocno wolniejszy od starszej wersji 1.1.6. Frameworki pehapowe okazały się najwolniejsze. Najgorszy okazał się pehapowy Symfony. Jest skomplikowany i wolny, 35x wolniejszy od Django!

Tagi , , , , , , , ,  | 15 comments

Comments

  1. Avatar climbus powiedział about 10 hours later:

    Ciekawe skąd wynika powolność PHP. Zapewne przez sztuczne stosowanie technik obiektowych. Wydaje mi się, że można napisać framework w php’ie, który byłby najszybszy. Tylko musiał by on mieć swoją filozofię dopasowaną do php’a.

  2. Avatar Badziu powiedział about 11 hours later:

    Pamiętaj że Pythonowe frameworki kompilują kod do bytecodu. W tym miejscu dopatrywał bym się “słabości” PHP’a (choć nie tylko).

  3. Avatar mzobniow powiedział about 14 hours later:

    Kod php tez mozna skompilowac do zend-a. Aczkolwiek to juz kosztuje kase…

  4. Avatar riklaunim powiedział about 17 hours later:

    http://www.cms.rk.edu.pl/w/p/benchmark-cmsw-i-pod-obcieniem/ – testowałem PHP ale dla porównania jest djangowskie cms.rk.edu.pl pod dev serverem i postgresem ;)

  5. Avatar obserwator powiedział 1 day later:
    ...Bardzo też dziwne, że nowy Rails 1.2.1 w tych testach jest mocno wolniejszy od starszej wersji 1.6.1…,

    Nie rozumiem :| – Dziwna numeracja starsza wersja ma wyzszy numer.

    No szkoda. Ciekawe co by prezentowal w powyzszym benchmark’u PYLONS.
    Apropo PHP – Co Pan sadzi o CodeIgniter w porownaniu do CakePHP ? Jestem bardzo zainteresowany Pana opinia na ten temat, poniewaz nie zauwazyłem na Pana blogu nic na temat framework’a CodeIgniter

  6. Avatar Jarosław Zabiełło powiedział 1 day later:

    Zakradła się literówka do tekstu. Powinno być 1.1.6 (już poprawiłem). Nie znam CodeIgniter. Kiedyś próbowałem coś dłubać w Symfony i CakePHP, ale szybko się zniechęciłem. Wolę oryginał niż jego naśladowców. Jak ktoś zakosztował komfortu pracy z Ruby on Rails to potem PHP wydaje mu się koszmarkiem. Od dłuższego czasu nie używam więc PHP do nowych projektów. Szkoda mi czasu na PHP. W Rails i Django pracuje się znacznie szybciej i przyjemniej.

  7. Avatar seba powiedział 1 day later:
    widziałeś web.py ? osobiście mój #1. Choć nie jest to taki framework jak powyższe to jak dobrze ktoś określił:
    “Django lets you write web apps in Django. TurboGears lets you write web apps in TurboGears. Web.py lets you write web apps in Python.”
    Sama przyjemność.
  8. Avatar riklaunim powiedział 1 day later:

    Tyle że web.py nie ma żadnych ułatwiaczy i do tego wszystko razem. Do średnich i większych projektów to utrudnia a nie pomaga

  9. Avatar occulkot powiedział 1 day later:

    w tym web.py nawet jakiegos prozadnego API do bazy nie widac – to nie jest rok 2000 zeby sie do bazy przez SQL dostawac ;)

  10. Avatar seba powiedział 1 day later:

    wiecie… jak kto woli. Dla mnie webpy jest świetny bo nie ogranicza mnie w żaden sposób, do tego jest wyjątkowo prosty. Pisze dość duży projekt w webpy i wcale mi nie utrudnia.

    Co do sql, to przecież możesz mieć co chcesz, chociażby SQLObject.

  11. Avatar krolik powiedział 25 days later:

    Szkoda, że nie wzięto pod uwagę frameworków do Javy. Jak robiłem porównanie FCGI z frameworkami Javy to nie było większych różnic – Java tylko o ok. 20% wolniejsza. Myślę, że Java 6 w trybie server zdeklasowałaby Pythona pod względem szybkości.

  12. Avatar stforek powiedział 25 days later:

    Szybkość frameworków nie jest wcale taka ważna. I tak na ogół wszystko zapycha się na bazie danych. Ważna jest więc architektura – np. dobre zaprojektowanie mechanizmów buforowania danych.

  13. Avatar Jarosław Zabiełło powiedział 25 days later:

    Java6 może jest szybsza jako język, i co z tego? Assembler jest jeszcze szybszy.

  14. Avatar theo powiedział 4 months later:

    nowsza wersja tego testu (z uwzględnieniem eAcceleratora dla PHP) http://www.alrond.com/en/2007/feb/04/in-addition-to-the-test-of-mvc-frameworks/ pokazuje, że frameworki dla PHP też mogą być szybkie, a w przypadku codeigniter + eAccelerator – pobić Ruby on Rails :) Wg. syntetycznych testów http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all Ruby jest znacznie wolniejszy od PHP. Dlatego należą się gratulacje dla twórców RoR za osiągi tego frameworku. Python górą :) @krolik – Java server 6, zgniata Pythona (choć jest pamięciożerna). A najszybszy jest kod maszynowy :)

  15. Avatar Pawel powiedział 9 months later:

    Porownywanie w ten sposob frameworkow jak w artkule to po prostu bzdura. Jaki ma sens testowanie domyslnych parametrow, kiedy jedna zmiana zmienia drastycznie wyniki testow. np wystarczy wlaczych cache configu w symfony ( bez cache kazdy request to parsowanie wielu plikow yml )i juz bedzie kilkanascie razy szybciej jesli chodzi o typowe “hello world”. I jesli chodzi o PHP to wystarczy dodac eAccelelator. Realna aplikacja to nie “hello world”. Pisanie ze np Symfony jest 35 razy wolniejsze od Diango jest smieszne. Zapewniam ciebie ze bedzie mozliwe takze takie porownanie w druga strone wszystko zalezy od zbyt wielu czynnikow, aby ferowac wyroki na zasadzie wyswietlania 5 linijek tekstu i mierzenie ile czasu to zajelo. Szczery LoL

(leave url/email »)

   Pomoc języka formatowania Obejrzyj komentarz