ORM test PHP frameworků – Kohana, Laravel

V této části se dozvíte, jakých výsledků v porovnávacím zátěžovém testu dosáhly frameworky Kohana a Laravel.

Seriál: ORM test PHP frameworků (9 dílů)

  1. Spouštíme letní ORM test PHP frameworků 3.7.2013
  2. ORM test PHP frameworků – CakePHP, CodeIgniter 10.7.2013
  3. ORM test PHP frameworků – DooPHP, Jelix 17.7.2013
  4. ORM test PHP frameworků – Kohana, Laravel 26.7.2013
  5. ORM test PHP frameworků – Nette, Prado 31.7.2013
  6. ORM test PHP frameworků – Qcodo, Recess 7.8.2013
  7. ORM test PHP frameworků – Seagull, Symfony 14.8.2013
  8. ORM test PHP frameworků – Yii, Zend Framework 21.8.2013
  9. ORM test PHP frameworků – PHP, závěr 28.8.2013

Kohana 3.3.0

Jedná se o velmi rozšířený, komunitou vytvořený aplikační framework, odvozený od původního CodeIgniter projektu. Ve své struktuře a návrhu aplikací využívá návrhový vzor MVC, přesněji HMVC. Jedná se o téměř stejný model, s tím rozdílem, že HMVC má pevně danou hierarchickou strukturu a přímou návaznost jednotlivých členů. Kohana nabízí možnost tvořit aplikace s BSD licencí, která umožňuje psát komerční aplikace. Jádro obsahuje velké množství užitečných ladících nástrojů, díky kterým lze jednoduše vyhledávat a odstraňovat problémy při tvorbě aplikace. Také je všechen „předepsaný“ kód velmi podrobně okomentován, díky tomu je v něm snadná orientace a není vždy nezbytné vyhledávat vysvětlení některých funkcí v dokumentaci. Hlavní podporovanou databází je MySQL, ale lze najít rozšiřující balíčky umožňující komunikaci s jinými formáty.

Vlastnosti:

  • jednoduchá a rychlá tvorba aplikace
  • možnost psát komerční aplikace (užívá BSD licenci)
  • velmi dobře komentovaný kód
  • jednoduchá práce s objekty
  • užitečné ladící nástroje
  • možnost rozšíření o další knihovny

Požadavky pro použitou verzi:

  • HTTP server
  • PHP 5.0. x (a vyšší)
  • MySQL

Dokumentace a podpora:

Dokumentace se může zprvu zdát chaotická, ale časem si na ni čtenář zvykne a zjistí, že je celkem obsáhlá. Některé části nebo ukázky se při jejím studování nezobrazovaly, což mohlo být způsobeno krátkodobým výpadkem nebo jejich absencí. Ostatní programátory lze kontaktovat přes IRC kanál nebo diskuzní fórum, vše je dostupné na oficiálních stránkách.

Výsledky testů:

  • Test výběr (SELECT)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 737 754 69 1527 1043,7 215
2. Měření 3000 935 875 72 4036 844,5 395
3. Měření 3000 1159 1246 66 1720 700,8 304
Průměr 3000 943,7 958,3 69,0 2427,7 863,0 304,7

 

  • Test vložení (INSERT)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 229 232 66 631 24,6 80
2. Měření 3000 207 212 64 464 23,2 75
3. Měření 3000 208 210 64 589 22,8 79
Průměr 3000 214,7 218,0 64,7 561,3 23,5 78,0

 

  • Test úprava (UPDATE)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 251 255 70 669 22,7 85
2. Měření 3000 255 265 70 567 22,7 82
3. Měření 3000 223 229 63 631 21,9 82
Průměr 3000 243,0 249,7 67,7 622,3 22,4 83,0

 

  • Test smazání (DELETE)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 242 249 68 580 23,2 79
2. Měření 3000 225 231 65 581 22,1 80
3. Měření 3000 223 231 61 472 22 76
Průměr 3000 230,0 237,0 64,7 544,3 22,4 78,3

 

  • Test vše zároveň (ALL)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 12000 388 290 66 1272 533,3 236
2. Měření 12000 377 279 65 1223 533,3 233
3. Měření 12000 373 273 66 4020 521,4 244
Průměr 12000 379,3 280,7 65,7 2171,7 529,3 237,7

 

Grafické znázornění:

Kohana grafy

Laravel 3.2.13

Laravel patří mezi jedny z nejpodrobněji zdokumentované frameworky. Struktura a návrh kódu je velmi intuitivní a pochopení jeho syntaxe je celkem jednoduché. Celé jádro obsahuje jen základní, i když rozsáhlou funkcionalitu, a lze ho rozšířit celou řadou přídavných balíčků, které jsou k dispozici přímo z domovské stránky. Samozřejmostí je i využití objektového programování a MVC návrhového vzoru.

Vlastnosti:

  • velice rozsáhlá a podrobná dokumentace
  • možnost rozšíření o různé typy balíčků
  • jednoduchý a srozumitelný kód
  • využití objektového programovaní
  • využívá MVC strukturu

Požadavky pro použitou verzi:

  • HTTP server
  • PHP 5.3.x (a vyšší)
  • MySQL, SQLite, Postgre SQL, SQL Server

Dokumentace a podpora:

Laravel poskytuje velmi rozsáhlou a přehlednou dokumentaci, která je doplněna o velké množství názorných příkladů, ukázkových aplikací nebo dokonce výukových videí. Také lze zakoupit knihu věnovanou právě tomuto frameworku a tím i trochu přispět k jeho dalšímu vývoji. Pro řešení témat, která nelze najít v dokumentaci, slouží velice frekventované diskuzní fórum a oficiální IRC kanál.

Výsledky testů:

  • Test výběr (SELECT)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 1134 1211 69 1818 941,8 315
2. Měření 3000 826 845 73 2398 1245,7 276
3. Měření 3000 1131 1183 72 2895 946,4 315
Průměr 3000 1030,3 1079,7 71,3 2370,3 1044,6 302,0

 

  • Test vložení (INSERT)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 232 231 61 631 77,2 85
2. Měření 3000 239 244 67 565 76,5 83
3. Měření 3000 309 305 67 933 62,6 117
Průměr 3000 260,0 260,0 65,0 709,7 72,1 95,0

 

  • Test úprava (UPDATE)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 272 277 70 550 77,2 91
2. Měření 3000 269 278 63 541 78,3 85
3. Měření 3000 230 232 68 612 76,4 86
Průměr 3000 257,0 262,3 67,0 567,7 77,3 87,3

 

  • Test smazání (DELETE)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 3000 229 236 67 544 77,7 80
2. Měření 3000 267 275 66 709 79,1 85
3. Měření 3000 235 237 64 664 77,1 83
Průměr 3000 243,7 249,3 65,7 639,0 78,0 82,7

 

  • Test vše zároveň (ALL)
Test Požadavků Průměr [ms] Medián [ms] Min  [ms] Max [ms] Prům. rychlost [KB/s] Odchylka [ms]
1. Měření 12000 416 305 65 1182 691 259
2. Měření 12000 557 415 68 2052 519,8 353
3. Měření 12000 394 284 64 1905 695,4 252
Průměr 12000 455,7 334,7 65,7 1713,0 635,4 288,0

 

Grafické znázornění:

Laravel grafy

Student magisterského oboru Informační technologie na TUL. Jeho hlavní zálibou je programování webových aplikací nebo programů pro počítače a telefony. Oblíbené jazyky C#, Java, PHP. Velmi rád se učí novým věcem a nedokáže se od projektu odpoutat, dokud není dokončen. Pokud zrovna nepracuje vyráží na pěší výlety nebo na kolečkové brusle.

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Komentáře: 9

Přehled komentářů

Fe Nervy ze zeleza
x010101010011010111001100101000101010101010101 Re: Nervy ze zeleza
Jaroslav Jakoubě Re: Nervy ze zeleza
x010101010011010111001100101000101010101010101 Re: Nervy ze zeleza
Jaroslav Jakoubě Re: Nervy ze zeleza
diverman statistiky
vaclav.sir Tohle je vážně špatné
Petr Prchal
Jakub Mrozek Zdrojáky?
Zdroj: https://www.zdrojak.cz/?p=8843