2012-12-04 11 views
6

Non riesco a credere che non sia in grado di google qualcosa di pertinente a questa domanda, ma comunque ...L'esecuzione di PHP è più veloce con standard rigorosi?

Il mio presupposto logico sarebbe che gli script che rispettano tutte le regole dettate dagli standard rigorosi si eseguano più velocemente.

D'altra parte, se gli script di lavoro senza norme severe, poi norme severe forse è solo un passaggio di verifica aggiuntivo necessario nel processo di compilazione ...

C'è alcuna informazione ufficiale su ciò che è più veloce? Grazie.

+1

L'ipotesi è giusta in quanto il codice rigoroso (per alcune definizioni di "strict") * può * essere eseguito più rapidamente - vedere ad es. [HipHop] (https://en.wikipedia.org/wiki/HipHop_for_PHP). Ma penso che questo non sia fatto nell'interprete ufficiale di PHP. Facebook sta comunque lavorando su una VM che fa esattamente questo. –

+2

La micro ottimizzazione è la radice di tutto il male. Tuttavia, gli standard rigidi ti dicono che probabilmente avrai meno problemi a lungo termine. @KonradRudolph Credo che stia parlando di proprieta 'E_STRICT' di PHP 'note – KingCrunch

+2

@King Citazioni inappropriate sono la radice di tutto il male. L'OP non sta parlando di micro-ottimizzazioni non necessarie. –

risposta

6

dovrebbe essere più veloce ..

La semplice motivo è che il sistema innescare l'errore di PHP è piuttosto pesante, e anche se gli errori E_STRICT vengono soppressi, ancora entrare nel meccanismo di errore (solo per essere ignorati).

Ma in realtà dipende molto dalla situazione, perché potrei immaginare che lavorare attorno a E_STRICT potrebbe essere anche più pesante della soluzione originale.

Indipendentemente da ciò, l'uso di E_STRICT è un'idea intelligente e consente un codice più portabile e a prova di futuro. Tuttavia, non utilizzerei le prestazioni come motivo valido per iniziare a scrivere codice PHP rigido.

+0

+1 Esatto, ogni errore che verrebbe generato (anche se si ha 'error_reporting (0)') ha un impatto negativo sulle prestazioni, perché vengono comunque generate anche quando non vengono segnalate. Ciò a sua volta provoca l'esecuzione di ulteriori passaggi di esecuzione da parte del programma. – Leigh

Problemi correlati