2012-12-04 29 views
6

我不能相信我無法谷歌任何有關這個問題,但無論如何...PHP的執行速度有沒有嚴格的標準?

我的邏輯假設是,遵守所有嚴格的標準規定的規則將執行更快的腳本。

在另一方面,如果腳本工作,沒有嚴格的標準,那麼也許嚴格的標準僅僅是在編譯過程中不必要的額外驗證步驟...

是否有什麼更快的任何官方信息?謝謝。

+1

根據嚴格代碼(對於「strict」的某些定義)可以更快地執行,您的假設是正確的 - 請參閱[街舞](https://en.wikipedia.org/wiki/HipHop_for_PHP)。但我認爲這不是在官方的PHP解釋器中完成的。然而,Facebook正在開發一款完全符合這一要求的虛擬機。 –

+2

微觀優化是所有邪惡的根源。然而,嚴格的標準告訴你,從長遠來看,你可能會遇到更少的問題。 @KonradRudolph我想他是在談論PHP自己的'E_STRICT'-通知 – KingCrunch

+2

@King不恰當的引號是所有邪惡的根源。 OP不是在談論不必要的微觀優化。 –

回答

6

它應該會更快..

原因很簡單,幸福的是,PHP的錯誤觸發系統是相當沉重的,即使E_STRICT錯誤會受到抑制,但仍然進入錯誤機制(只被忽略)。

但實際上它高度依賴於情況,因爲我可以想象,圍繞E_STRICT工作本身也可能比原始解決方案更重。

無論如何,使用E_STRICT是一個聰明的想法,並允許更便攜的,面向未來的代碼。但是,我不會將性能作爲開始編寫嚴格PHP代碼的有效理由。

+0

+1正確,每生成一個錯誤(即使你有'error_reporting(0)')都會對性能產生負面影響,因爲即使沒有報告它們也會產生。這又會導致程序執行額外的執行步驟。 – Leigh