Domanda

Quali sono le pagine Web Python o le pagine Web PHP più veloci?

Qualcuno sa come si confronta la velocità dei piloni (o di uno qualsiasi degli altri framework) con un sito Web simile realizzato con php?

So che servire una pagina web base Python tramite cgi è più lento di php a causa del suo lungo avvio ogni volta.

Mi piace usare i piloni e lo userei comunque se fosse più lento di php.Ma se Pylons fosse più veloce di PHP, forse potrei, si spera, convincere il mio datore di lavoro a permettermi di convertire il sito in Pylons.

È stato utile?

Soluzione

Sembra che tu non voglia confrontare i due le lingue, ma vuoi confrontarne due sistemi web.

Questo è complicato, perché ci sono molte variabili coinvolte.

Ad esempio, le applicazioni web Python possono trarre vantaggio da mod_wsgi per parlare con i server web, che è più veloce di qualsiasi modo tipico con cui PHP comunica con i server web (anche mod_php finisce per essere più lento se usi Apache, perché Apache può usare Prefork MPM solo con mod_php anziché multi-thread) MPM come Lavoratore).

C'è anche il problema della compilazione del codice.Come sai, Python viene compilato just-in-time in codice byte (file .pyc) quando un file viene eseguito ogni volta che il file cambia.Pertanto, dopo la prima esecuzione di un file Python, il passaggio di compilazione viene saltato e l'interprete Python recupera semplicemente il file .pyc precompilato.Per questo motivo, si potrebbe sostenere che Python abbia un vantaggio nativo rispetto a PHP.Tuttavia, è possibile installare ottimizzatori e sistemi di memorizzazione nella cache per i siti Web PHP (il mio preferito è eAcceleratore) con lo stesso effetto.

In generale, esistono strumenti sufficienti affinché uno possa fare praticamente tutto ciò che può fare l'altro.Naturalmente, come altri hanno già detto, nel caso aziendale di cambiare lingua non c'è solo la velocità.Presso il mio attuale datore di lavoro abbiamo un'app scritta in oCaml, che si è rivelata un errore perché l'autore originale ha lasciato l'azienda e nessun altro vuole toccarla.Allo stesso modo, la comunità web PHP è molto più grande della comunità web Python;È più probabile che i servizi di hosting di siti Web offrano il supporto PHP rispetto al supporto Python;eccetera.

Ma torniamo alla velocità.Devi riconoscere che la questione della velocità qui coinvolge molte parti in movimento.Fortunatamente, molte di queste parti possono essere ottimizzate in modo indipendente, offrendoti varie strade per cercare miglioramenti in termini di prestazioni.

Altri suggerimenti

Non ha senso tentare di convincere il tuo datore di lavoro a eseguire il porting da PHP a Python, soprattutto non per un sistema esistente, che è ciò che penso tu abbia implicito nella tua domanda.

La ragione di ciò è che disponi già di un sistema (presumibilmente) funzionante, con un investimento esistente di tempo, impegno (ed esperienza).Scartare questo in favore di un banale miglioramento delle prestazioni (non che io stia sostenendo che ce ne sarebbe uno) sarebbe sciocco, e nessun manager degno di questo nome dovrebbe approvarlo.

Potrebbe anche creare un problema di manutenibilità, a seconda di chi altro deve lavorare con il sistema e della sua esperienza con Python.

Presumo che PHP (>5.5) sia più veloce e affidabile per applicazioni web complesse perché è ottimizzato per lo scripting di siti web.

Molti dei benchmark che troverai in rete servono solo a dimostrare che la lingua preferita è migliore.Ma non puoi confrontare 2 lingue con un compito matematico eseguito X volte.Per un vero benchmark sono necessari due framework comparabili con centinaia di classi/file e un'applicazione Web che esegue 100 client contemporaneamente.

PHP e Python sono abbastanza simili da non richiedere alcun tipo di passaggio.

Qualsiasi miglioramento delle prestazioni che potresti ottenere passando da una lingua all'altra sarebbe ampiamente superato semplicemente non spendendo i soldi per convertire il codice (non codifichi gratuitamente, giusto?) e acquistando semplicemente più hardware.

È più o meno la stessa cosa.La differenza non dovrebbe essere abbastanza grande da costituire la ragione per scegliere l'uno o l'altro.Non provare a confrontarli scrivendo i tuoi piccoli benchmark ("hello world") perché probabilmente non otterrai risultati rappresentativi di un sito Web reale che genera una pagina più complessa.

Se non è rotto non aggiustarlo.

Scrivi semplicemente un test veloce, ma tieni presente che ogni lingua sarà più veloce con determinate funzioni rispetto all'altra.

È necessario essere in grado di presentare un business case per il passaggio, non solo "è più veloce".Se un sito costruito sulla tecnologia B costa il 20% in più in termini di tempo di manutenzione per gli sviluppatori per un determinato periodo (diciamo, 3 anni), sarebbe probabilmente più economico aggiungere un altro server web al sistema che esegue la tecnologia A per colmare il divario di prestazioni.

Dicendo semplicemente "dovremmo passare alla tecnologia B perché la tecnologia B lo è Più veloce!"non funziona davvero.

Poiché Python è molto meno onnipresente di PHP, non sarei sorpreso se l'hosting, lo sviluppatore e altri costi di manutenzione (a lungo termine) lo rendessero adatto a questo scenario.

un’organizzazione IS non rifletterebbe su questo a meno che la disponibilità non diventasse un problema.

in tal caso, esamina la replica, il bilanciamento del carico e molta RAM.

L'unica risposta giusta è "Dipende".Ci sono molte variabili che possono influenzare le prestazioni e puoi ottimizzare molte cose in entrambe le situazioni.

Sono dovuto tornare allo sviluppo web nel mio nuovo lavoro e, se non fosse stato per Pylons/Python, forse avrei scelto di vivere nella giungla :) Secondo la mia opinione soggettiva, PHP è per l'asilo, l'ho fatto al terzo anno dell'università e, credo, molti ingegneri del software che si rispettino (o sopravvalutano) non vorranno essere disturbati dal codice PHP.

Perché i miei datori di lavoro hanno accettato?Noi (il team) siamo appena passati a Python e non avevano molto da dire.Il sito web è e sarà ancora PHP, ma stiamo sviluppando altre applicazioni, anche web, in Python.Vantaggi dei piloni?Puoi integrare le tue librerie Python nell'app Web e questo, secondo me, è un enorme vantaggio.

Per quanto riguarda le prestazioni, abbiamo ancora problemi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top