Comparazione di framework PHP: chi è il più veloce?

Mercoledì 6 Luglio 2011 - 12:02

di Kiko

PHP e Open Source

Esistono diversi parametri per valutare un framework. Alcuni di questi sono oggettivi e strettamente misurabili, altri assolutamente soggettivi. Fra i parametri oggettivi vi è la velocità del framework, concetto col quale si vuole esprimere l’idea di quanto tempo trascorre dalla richiesta di un’azione alla sua completa esecuzione. La velocità di un framework influisce sulle performance dell’intero prodotto (performance che dipendono poi da altri fattori: database, procedure di caching, hardware della macchina server e via così).

Un articolo inglese mostra una sorta di comparazione di molti framework dedicati agli sviluppatori PHP. L’idea dell’autrice del post è stata quella di mettere assieme le decine di benchmark proposti in lungo e in largo sul web e provare a tirare le somme.

La classifica stilata sento di poterla confermare, tranne per l’ultima sorprendente posizione cui è stato relegato CakePHP.

In breve, dallo studio, è stato rilevato che i framework più veloci sono i giovani Kohana e YII e il ben più conosciuto CodeIgniter. Giusto un passo indietro per Symfony che pagherebbe la complessità del codice di cui si compone e la vasta disponibilità di plugin installabili. Posizioni basse per Zend e, come detto, CakePHP.

Vi trova d’accordo?

Tags:

Categoria: PHP e Open Source | Permalink

Commenti

1

A me sembra che l’articolo concluda che DooPHP sia il piu’ veloce, eppure non lo citate neanche… sbaglio?

# - postato da Giacomo - 06 Luglio 2011 - 12:15

2

Le comparazioni di velocità tra framework sono completamente futili.

Primo, molte delle lentezze di alcuni framework sono da imputare al per certi aspetti pessimo comportamento di molte istruzioni di PHP, vedi il require e l’autoloading: aggirare questi problemi con degli hack per aumentare la velocità non lo ritengo affatto un pregio, se questo implica sovraorganizzazione del codice.

Secondo, c’è un abisso tra le funzionalità ed i comportamenti dei framework citati: non si può certo paragonare CakePHP a Zend, hanno obiettivi diversi ottenuti con strumenti diversi. Uno è più veloce dell’altro, ma per fare cosa?

Terzo, un programmatore che prende un framework e lo usa come fosse plug-n-play (ovvero il programmatore che da affidamento a questi bench) vuol dire che in fondo non ne sa molto di framework.

Personalmente, per tutti i framework che ho usato, dal più infimo TinyMVC al più esteso Zend, ho dovuto studiarne i sorgenti per settimane per farci fare quello che volevo, e mai il framework così da solo andava bene, bisogna ampliarlo e correggerlo secondo le proprie esigenze, e alla fine ottimizzarlo. Il risultato è un software che rispetta i requisiti minimi prefissati col massimo delle performance: togliere un’opzione per aumentarne la velocità vuol dire o che il prodotto è fallato perché manca un’opzione chiave, o che non si è stati capaci di analizzare l’ambiente di lavoro per adattarlo al progetto.

# - postato da Slam - 06 Luglio 2011 - 12:39

3

quoto Slam

# - postato da blackout - 06 Luglio 2011 - 12:58

4

grande Slam!! quoto in pieno anche io!!

# - postato da Marco Lecce - 06 Luglio 2011 - 12:58

5

@Giacomo purtroppo non lo conosco. Sì, è il più veloce, ma non capisco, a ritroso, il 10/10. Mi interessava di più focalizzare il discorso sui più usati: Zend (delusione), CakePHP (che ho studiato recentemente), Kohana (molto poco sponsorizzato), Symfony e CodeIgniter. Fra tutti, se dovessi dire dove mi butterei, direi YII: lo vedo maturo per il gran salto!

# - postato da Kiko - 06 Luglio 2011 - 12:59

6

@Slam commento che sottoscrivo, ma da qualche parte si deve iniziare per forza per stimolare il discorso.

Il framework perfetto non esiste, però è indubbio che su progetti piuttosto semplici, i vari Kohana e YII e CakePHP sembrano perfetti per facilità di studio e semplicità di implementazione. Almeno è questa la mia modesta e piccolissima esperienza.

Alla comparazione così omogenea non ho mai creduto, perché andrebbero valutati talmente tanti fattori che poi non si riuscirebbe a compararli per bene tutti quanti.

Il tentativo è stato quello di valutare semplici progetti pilota, tipo un motore di blogging costruito con ognuno dei vari framework.

Come detto nel post, il fattore soggettivo è impossibile da eliminare.

Tornando alla tua conclusione, è ovvio che studiare il codice di Kohana è molto più semplice che andare dentro Zend! Così come è più semplice agire dentro CakePHP rispetto al mettere le mani dentro Symfony. Sebbene devo riconsiderare la versione numero 2!

Per il resto posso concordare sulla classifica, perché su progetti identici YII e Symfony si sono comportati meglio, molto meglio di Zend e CakePHP. Sulla stessa macchina, alle stesse condizioni! Altre esperienze simili?

# - postato da Kiko - 06 Luglio 2011 - 13:05

7

un articolo sul creatore di php sull’uso dei framework in php.

A voi l’ardua sentenza. Che ne pensate?

http://toys.lerdorf.com/archiv.....ework.html

# - postato da sasuke - 06 Luglio 2011 - 14:30

8

Un confronto inutile, tra l’altro su versioni vecchie. Symfony2 è prossimo al rilascio, CakePHP è stato sostituito da una nuova versione di cui non ricordo il nome, Zend2 è in fase avanzata…
Ed in ogni caso un confronto di velocità su applicazioni ridotte all’osso è ridicolo.

# - postato da davide - 06 Luglio 2011 - 15:34

9

@slam
sono d’accordo su tutto, tranne che sul discorso delle ottimizzazioni. Ben vengano gli hack che aumentano la velocita’, anche se portano alla sovraorganizzazione del codice… a patto pero’ che questo sia invisibile all’utente.

# - postato da Giacomo - 06 Luglio 2011 - 17:30

10

Devo dire che concordo con slam, ma io sono anni che uso cakePHP, l’ho ottimizzato per le mie esigenze e fa correttamente il suo sporco lavoro. Tra l’altro è molto semplice, per passare ad un nuovo MVC devo avere delle motivazioni molto valide e i benchmark trovano sempre il tempo che trovano (scusate il gioco di parole).

# - postato da Federico - 15 Luglio 2011 - 09:01

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento