談到PHP然後其他性能/優化,我想問一下,如果有這兩個之間的性能差異:速記,如果在PHP
$name=($IsBoy)?"George":"Mary";
VS
if($IsBoy)
{
$name="George";
}
else
{
$name="Mary";
}
這兩個結果會導致不同的操作碼?
如果是,將是任何理論性能的區別? (當然忽略這兩個需要被讀取/編譯/解釋的時間)
如果是,那麼像zend optimizer這樣的優化器會利用這一點並自動執行任何重新安排?
p.s.如果您認爲我的「全手寫」if-then-else代碼太複雜,請提供最基本代碼和答案的示例。
UPDATE:
我希望這個問題是非常清楚,但人們似乎沒有得到消息。這個問題是關於理論(...但真正和mesaureable)差的性能(這就是爲什麼我在理論應用大膽和斜體)。請不要回答說什麼樣的編程風格更具可讀性,而且這太過挑剔,無法擔心性能。
p.s. 2:通過強調理論這個詞,我試着阻止這種類型的答案:「不用擔心它不值得麻煩,它只有幾納秒。」
我不知道任何確定性做,但我的猜測是日在這兩者之間並沒有真正的性能差異,如果有的話,這將是一個你不應該擔心的微型優化。 – chrislondon
你可以選擇這個:http://fabien.potencier.org/article/48/the-php-ternary-operator-fast-or-not – vitozev
Fabien的文章與我自己的觀察結果非常相似;雖然很高興看到爲什麼 –