作者hSATAC (cAt Ash)
看板PHP
標題Re: [請益] 關於三元運算子
時間Mon Jul 29 19:40:42 2013
剛好手邊有點時間來回一下好了
我是不知道你為什麼好像覺得我在針對你啦 @@
我會推這句是因為你的思路滿清晰的
清晰到只差最後一步答案就自己跑出來了
你先提出了一個假設:
PHP processor 會跟 compiler 一樣做 peephole optimization
然後你想知道
ternary operator 有沒有 not 的 performance 是否也會一樣
這個基本上就是跑個 benchmark 就會知道結果的事情
先姑且不論
$value = $bool ? true : false 為什麼不直接寫成
$value = $bool 好了
你 code 都寫在文章裡已經寫好了
前後包個迴圈測一下執行速度就知道答案啦
你的實驗也的確做的很好,除了 ternary 的部份外,也做了 if-else 的比較
從你的實驗結果可以知道 PHP processor 並沒有跟你假設的一樣做 peephole 優化
由此我們可以推測再加更多 not 上去應該速度會越來越慢
我不知道是否我的推文文字讓你誤會?
但我覺得你的問題還滿 self-explanatory 的
我想指出你只需要最後一步實驗就能得到結果就夠了
應該沒有義務一定要幫你跑 benchmark 吧 @@
希望以上的解釋對你有幫助囉
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.252.14
1F:推 johnny1972:推很有耐心的特別回一篇解釋 07/29 20:12
2F:推 tails32100:謝謝你的解釋,這也是小弟比較想知道的解答 07/29 22:42
3F:→ tails32100:不是要幫忙跑benchmark的意思,而是希望有個理論上的說 07/29 22:43
4F:→ tails32100:明,再次謝謝您的用心與耐心 :) 07/29 22:44
5F:推 jikotw74:好清晰的邏輯 07/30 15:35