40 komentářů k článku ORM test PHP frameworků – CakePHP, CodeIgniter:

  1. Kolemjdoucí

    Je redakce při smyslech?
    Opravdu má tohle smysl? Radši zrušit jako seriál o ZF, lepší než si způsobit ještě větší ostudu. Nebo spojit do jednoho článku a vynechat zbytečný balast. Jen ať se z toho nestane prázdninový seriál, který pomalinku pohřbívá Zdroják.

    1. Martin Hassman

      Re: Je redakce při smyslech?
      Tak redakce při smyslech nebyla nikdy, jinak by to nemohla vůbec dělat 8-) BTW ZF seriál tehdy skončil odchodem autora, který vše zabalil a přestal zcela komunikovat. S autorem tohohle seriálu se snažím spojit a rozmyslet další kroky, ale už týden od něj nemám žádnou reakci, tak ještě uvidíme.

      1. Dan

        Re: Je redakce při smyslech?
        Rozhodně taky doporučuju znovu zvážit koncept seriálu… tohle je opravdu, ale opravdu špatné.

  2. Jiří Knesl

    vic by me zajimal rozbor zdrojaku
    Přiznávám se, že výkon mě u frameworků až tak moc nezajímá. Tuším, že Cake a Symfony dopadnou blbě, Yii, Nette, Code Igniter dobře. Ale stejně by mě to nedonutilo projekt, který mám v Cake přepsat do Code Igniteru.

    Co mi naopak v seriálu chybí:

    1) srovnání, jak se dělají formuláře (přímo se zdrojáky)
    2) jak vypadá db vrstva (má migrace? ORM? optimální dotazy jako v NotORM?)
    3) jak udělám základní věci, jako routování, připojení do db, redirect, 404 Not Found
    4) co umí šablonovací vrstva
    5) jak je framework bezpečný (automatická ochrana proti CSRF, automatické escapování)
    6) jak v tom udělám přihlášení/uživ.práva/administraci
    7) jestli má nějaké pluginy a kolik práce je s jejich instalací
    8) jak framework podporuje AJAXové dotazy, automatické REST služby apod.

    Ikdyby byla frekvence článků čtvrtinová, myslím, že tak by to mělo význam a bylo by to vodítkem, které může někoho při výběru FW ovlivnit. Dělat benchmarky na laboratorních dotazech nepovažuju za věc, která by cokoliv užitečného pro praxi ukázala.

    Kéž bych měl o trochu víc času s tím autorovi pomoci, protože je to chvályhodná aktivita a byla by škoda takovou šanci zahodit.

      1. hmm

        Re: vic by me zajimal rozbor zdrojaku
        čekal jsem že nette nebude žádnej rychlík ( rychlík byl opravdu pouze ve verzích 0.x ), ale že dopadne až tak špatně, to jsem nečekal ( i šnek zend je rychlejší to je pro mě překvapení ).

        1. xanax

          Re: vic by me zajimal rozbor zdrojaku
          ja som nette opustil uz davno prave koli rychlosti.. niektore pomalsie casti nette by bolo lepsie prepisat do C++ ako PHP moduly.

        2. kaktuss

          Re: vic by me zajimal rozbor zdrojaku
          Len jedno nechapem, ze preco ma v tom teste na phalconphp.com Nette taky obrovsky prenos dat oproti inym fw.

          Total transferred: 50370200 bytes

          co je napr. 120x viac ako Phalcon.

          Vie to niekto vysvetlit?

      2. kaktuss

        Re: vic by me zajimal rozbor zdrojaku
        Tak v tom teste Nette nie ze pohorelo, ale zhorelo. Otazkou je, ci to je nieco realne alebo…

        1. Hmm

          Re: vic by me zajimal rozbor zdrojaku
          Ci je to uplne realne neviem, ale nieco pravdy na tom bude, pretoze Nette som taktiez zahodil po par rokoch kvoli rychlosti a komplikovanosti a presiel na rychlejsi a prijemnejsi CodeIgniter

      3. karel

        Re: vic by me zajimal rozbor zdrojaku
        Také mě zaujalo, jak v tom testu nette propadlo, tak jsem se schválně podíval na zdrojáky toho testu. Jsou k dispozici zde:
        https://github.com/phalcon/framework-bench/tree/master/helloworld

        Ten test je bohužel naprosto zfixlovaný, a to z těchto důvodů:

        – phalcon má v testu pouze jeden controller a jedno view, které obsahuje pouze samotný text „Hello!“ bez ničeho dalšího. To pak při 2000x opakování dá těch 32kB přenesených HTML dat

        – nette má v testu z neznámých důvodů controllery dva, v testu přenáší celé HTML včetně HEAD části, navíc používá i šablonovací systém a includuje šablonu do nadřazené šablony. V šabloně pak kromě textu nepochopitelně generuje navíc i odkaz. Dále má v bootstrapu zapnutý debugger, který je součástí stránky, proto ve výsledku při 2000x opakování přenese 50MB HTML dat!

        Srovnávají se naprosto nesrovnatelné věci. Pro stejné porovnání by nette muselo mít v šabloně také pouze samotný text bez ničeho dalšího. A samozřejmě vypnutý debugger.

            1. Vojtěch Matějka

              Re: vic by me zajimal rozbor zdrojaku
              Off topic: Jak se podařil příspěvek s datem 11.7.2013 ve 22:56, když teď je teprve 11.7.2013 10:02?

              1. Martin Hassman

                Re: vic by me zajimal rozbor zdrojaku
                Vojta je prostě napřed 8-) Díky za upozornění, podíváme se na to.

                1. Martin Hassman

                  Re: vic by me zajimal rozbor zdrojaku
                  Tak bylo to poslední aktualizací WP, teď už se čas zobrazuje v pořádku.

            2. qwe

              Re: vic by me zajimal rozbor zdrojaku
              Ještě je tam další rozdíl. Ve phalcon testu není žádný .htaccess, zatímco v nette testu .htaccess je, přitom pro tento test, kde se nepoužívá url rewrite, není potřeba, stačí jen samotný index.php. I to bude mít vliv na ApacheBench.

        1. vojtech.dobes

          Re: vic by me zajimal rozbor zdrojaku
          Díky za upozornění, poslední pull request, který hýbal s Nette v tom testu, zdá se zavedl naprosto zvláštní úpravy…

          1. hmm

            Re: vic by me zajimal rozbor zdrojaku
            nechtěl by to tedy někdo naklonovat a udělat rychlej testík? Teď mě to zajímá ještě víc :D

            1. David Grudl

              Re: vic by me zajimal rozbor zdrojaku
              BTW, k čemu je benchmark webu, který nedělá nic? Až budu tvořit stránku, která vypíše jenom <h1>Hello!</h1>, obejdu se bez frameworku i PHP ;)

              1. hmm

                Re: vic by me zajimal rozbor zdrojaku
                Davide ( pokud mohu tykat ), každý druhý dnes „honí“ rychlost, u menších webu to nevadí, ale na větších webech ( rozumněj s větší návštěvností ) se už každá milisekunda „neberte to doslovně“ počítá :).
                Na nette webu je „Dle nezávislého testu je Nette Framework jedním z nejrychlejších frameworků vůbec.“ proto by bylo pěkné kdyby tomu tak opravdu bylo i v tomto testu / dnešní době, nicméně i po pull req. co zaslal [vojtech.dobes] je na tom nette stále nejhůře a to už stojí za zamyšlení. ( na to jak bylo nette pěkné, malé, rychlé, tak teď docela nabobtnalo a rapidně zpomalilo a to není dobré do budoucna )

                1. karel

                  Re: vic by me zajimal rozbor zdrojaku
                  Vy tam někde vidíte nové výsledky toho testu? Já tam vidím pořád ty staré.

                  1. hmm

                    Re: vic by me zajimal rozbor zdrojaku
                    Výsledky tam samozřejmě nejsou, ale nic Vám nebrání v tom, si stáhnout všechny zdrojáky z GITu a udělat si vlastní měření ;) ( zabere to tak 15 minut max. )

            2. vaclav.sir

              Re: vic by me zajimal rozbor zdrojaku
              Zkusil jsem to a u mě byl rozdíl mezi Nette a Zendem ještě větší. Dva requesty sice skončily error 500 z nějakého cache-related důvodu (Nette\InvalidStateException: Malformed journal file), ale to by takový vliv mít nemělo.

              Každopádně až budu tvořit stránku, která vypíše jenom <h1>Hello!</h1>, také se obejdu bez PHP. Pro srovnání jsem zkusil ještě hello world v Node.js a to je teprve rozdíl…

    1. kaktuss

      Re: vic by me zajimal rozbor zdrojaku
      Tak taketo porovnanie by mi osobne ovela viac dalo, ako toto aktualne porovnavanie rychlosti.

    2. Jaroslav JakouběAutor příspěvku

      Re: vic by me zajimal rozbor zdrojaku
      Vim že porovnání vámi zmíněných parametrů by možná bylo vhodné otestovat, ale tento test jsem vytvářel sám a bez předchozích znalostí použitých frameworků. Proto byl také zaměřen na lépe měřitelné aspekty než na vámi zmíněné parametry, ke kterým si myslím, že je potřeba hlubší znalost využití frameworků. Jsem rád, že patříte do velice malé skupiny lidí, kterým je líto že se nemohli podílet na testování a přispět do něj svými znalostmi.

      1. janek

        Re: vic by me zajimal rozbor zdrojaku
        Omlouvám se, ale nechápu ten přístup, kdy nemůžu mít kritický názor jen proto, že nejsem autor článku nebo že jsem se nějak nepodílel. Slepá adorace autorů čehokoliv vede pouze ke snížení kvality.

        Zkuste si někdy vzít do hospody jednoho programátora (skutečného, řekněme seniora u velké firmy nebo zkušeného freelancera) který miluje třeba Symphony, druhý Zend a třetí Nette. Stačí je jen poslouchat… a jestli byste byl pak schopen nějak stanovit, který FW je nejrychlejší, nejlepší, nej*

        1. Jaroslav JakouběAutor příspěvku

          Re: vic by me zajimal rozbor zdrojaku
          zde nejspíše došlo k mýlce. Já uznávám každý kritický názor a to že jsem na projektu pracoval sám jsem nemyslel jako výtku. Spíše jako, že kdybych věděl, že mi chcete pomoci zlepšit celý test, určitě bych vaši pomoct uvítal.

          Dále bych chtěl jen zopakovat, to co zde již bylo řečeno. Já nikomu výsledky nenutím a nedělám závěr, který framework je úplně ten nejlepší. Pouze jsem porovnal 14 vybraných FW v určitém testu a chci se podělit o jeho výsledky, protože si myslím, že pro některé programátory budou užitečné.

          Také jsem vděčný za jakoukoli kritiku ať už pozitivní nebo negativní. Je to reakce komunity dalších programátorů, ze které se rád poučím:-)

  3. joe

    vpohode
    mne to praveze pride dobry clanok pretoze opisuje vyhody a rozdiely frameworkov.a casovy test je tiez dost dolezity kedze si clovek vie porovnat co je vyhodnejsie pouzit pre projekt. Ostatne veci sa uz najdu v dokumentacii. nieco taketo som hladal.
    diki

    1. janek

      Re: vpohode
      Vy vážně věříte, že když napíšete aplikaci na FW, který tento test vyhrál, že ta apliakce bude v reálném provozu rychlejší než dejme tomu tem FW, který skončil na posledním místě ? :)

  4. Jaroslav Kubíček

    WTF?
    „Rozdílem od jiných frameworků je, že nevyužívá šablony a tudíž není potřeba se učit nějaký jazyk určený právě k jejich tvorbě“

    to je nějaký apríl, ne?

    1. Franta.

      Re: WTF?
      Teď jsem zjistil, že tuhle killer feature má nette taky, stačí přejmenovat .latte na .phtml :) Proč to není na nette.org mezi výhodami?

  5. janek

    grafy
    Co přesně znamenají poslední hodnoty „all“ ? Průměrnou odezvu čtení i zápisu ? :)
    Průměrná rychlost kiloBajtů/s čeho? Jak to souvisí s frameworkem?
    děkuji

    1. Jaroslav JakouběAutor příspěvku

      Re: grafy
      Poslední hodnoty „ALL“ jsou naměřené pri testu ve kterém se prováděly všechny funkce. V prvním testu se pouze vypisovalo, v druhém pouze vkládalo, ve třetím pouze upravovalo a ve čtvrtém pouze mazalo. V posledním testu prováděl každý uživatel všechny požadavky a tim byl získán takový „průměr“ při různých požadavcích.

      1. janek

        Re: grafy
        Stále nechápu tu průměrnou rychlost kiloBajtů/s.
        Přesto jsou ty výsledky na nic. Aplikace většinu času masivně čte a to hlavně z cache (file, memory). Triviální zapis do databáze je většinou rychlý, pokud nezatěžujeme tabulku nějakým složitějším dotazem (nebo zprasenym). Tzn rychlost zápisu nijak nesouvisí s FW.
        Z tohoto hlediska by mě u FW spíše zajímalo, jak je řešene cache resp. typická situace, kdy provádím update a potřebuji invalidovat cache. Samotný update do db je hned, ale invalidace cache může trvat i několik vteřin v závislosti na velikosti cache nebo množství tagů apod.

  6. janek

    perex
    Myslím, že by redakce měla zvážit vložení zvýrazněného perexu před každý díl tohoto seriálu, kde by bylo uvedeno, že se jedná pouze o náhodně seřazený neúplný seznam php frameworků.

  7. Jan Machala

    Nerad hanim ale toto ...
    Dobře, chápu že autor neví, jak by se mělo psát srovnání FW. Ale jak tohle může projít redakcí… Autorovi doporučuji, aby se s někým spojil a zkusil napsat článek pořádně (např. příklady kódů řešení, ve kterých FW vyniká, či principy, které jinde nejsou a naopak nedostatky).

    BTW neexistence šablonovacího systému opravdu výhoda není. A co se týká benchmarků, jeden test přece nemůže rozhodnout o celkové rychlosti. A to ať je to test hello wordu, nebo databázový test. Smysl dává jedině kombinace několika běžných use cases. A nezapomeňte na cache (na různých úrovních). Takže nakonec záleží jen na tom, jak dobře se v tom a tom FW dá web navrhnout a v něm následně optimalizovat na rychlost.

  8. Kristian Feldsam

    Divny test
    Tak toto je divny test. Codeigniter ORM nema, da sa doinstalovat, najznamejsi je DataMapper. O tom sa ale autor v clanku nezmienuje. Taktiez mi to pride skor test databazy ako samotneho frameworku.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=8828