我不知道是否有因使用「斷言」當ASSERT_ACTIVE
設置爲0(assert_options(ASSERT_ACTIVE, 0);
任何性能的斷層。斷言性能
舉例來說,如果我有一個龐大的系統工程,有很多在它中斷言,它會比那些斷言不會在那裏慢嗎?在大多數語言中,這兩種情況之間不會有任何區別,但我認爲這是因爲它們是編譯的,而不是執行的就像PHP一樣。
如果沒有性能差異,是否可以在PHP中創建類似於assert
的函數,以便在未設置標誌/變量時調用所有對它的調用功能完全被忽略? (這樣的功能可以用來使開發/調試變得更容易,但對於啓動的網站沒有任何價值)。
您是否嘗試過基準測試? –
@WaleedKhan我剛纔那樣做了,在一臺體面的服務器上,它在100萬次呼叫上增加了〜1秒,在一臺體面的服務器上;我可能不會在腳本中發現那麼多斷言,但希望它們被忽略,正如評論 –