2012-06-05 57 views
-1

我認爲第一種方法有更好的表現。哪些這些條件在php中有更好的性能?

<?php if(cond) { $var = 'v1'; } else { $var = 'v2'; } ?> 

<?php $var = (cond)?'v1':'v2'; ?> 

感謝。

編輯:我的意思是像左右浪費較少的內存的服務器性能...

+2

PHP非常慢並且PHP代碼沒有傳輸到客戶端,這樣的微型優化甚至不會給您在K6-II上運行Apache的0.0001ms優勢。使用您認爲更易於維護和可讀的代碼。 –

+1

優化是好的。關於優化的偏執是不好的。 – itachi

+1

* [PHP新生想要優化...](http://qkme.me/35ksv1) – mario

回答

4

沒有性能上的差異。只有可讀性問題。停止對這些微小的細節給予如此重視,並專注於更大的畫面!

0

兩者之間沒有明顯的差異。

0

我猜他們是以完全相同的速度運行的,儘管第一個可能需要更多的時間以難以置信的小幅度進行分析。你的應用程序運行緩慢嗎?我想你的瓶頸可能在其他地方。

2

對於那些好奇的差異有多麼小:在G5的

經過10百萬次迭代if/else語句需要15.987秒而三元花費17.953。

這相差1.61千萬次迭代或0.161微秒。

+1

這很有趣。我會想像它是另一種方式... +1只是發佈一些數字。然而,從公佈的數字看,似乎增加了11%,這可能導致一些人認爲它應該被專門用於「表現」,即使這種差異在更大的背景下會減少到[有效]沒有。 (Microbenchmarks可能非常誤導。) – 2012-06-05 01:25:09

+1

你是對的11%看起來很多,人們不應該被誤導。它可以忽略的原因是因爲我們正在談論1.59微秒的11%,這很容易成爲測試本身的誤差。需要一個小時的操作增加11%會有很大的不同。 –