2012-08-02 66 views
0

這不是關於微觀優化的問題。我只是感興趣,如果使用單引號字符串文字比使用雙引號(因爲不會發生變量擴展)更快。字符串文字使用單引號比雙引號更快嗎?

例子:

echo 'This is a string' # should a faster 
echo "This is a string" 

我試圖來衡量這種(使用大循環和時間),但不能拿出一個真正的結論。

對此的任何想法?

編輯

我也有興趣,爲什麼性能差異是如此之小......人們可能會認爲變量擴展需要某種解析字符串,這將使一個顯着的差異。

+0

不要這麼想......即使它有我相信你可以忽略它 – Deqing 2012-08-02 07:32:17

回答

2

理論上是(因爲它不會尋找$var等的擴展)。

在現實中,懷疑你會看到不同之處。

1

我相信它應該(只是一點點)更快。做一個小實驗 - 用10000個符號迴應一個字符串。在第一種情況下(雙引號),你必須逃避它們,而在第二種情況下你不需要。第一個字符串是更長的兩倍,因此處理它會更慢。這是一個極端的例子,我懷疑你會在現實生活中的任何地方觀察到差異。

編輯:爲了響應您的編輯。我相信在雙重qoute情況下的解析使用確定的自動機發生,因此也是線性的。這只是猜測。你仍然可以想象變量解析是如何發生的 - 如果你看到非轉義的$符號,那麼你有一個變量可以遵循。

相關問題