首頁  >  文章  >  後端開發  >  PHP 中的引用傳遞總是更快嗎?

PHP 中的引用傳遞總是更快嗎?

Susan Sarandon
Susan Sarandon原創
2024-11-08 18:02:02904瀏覽

Is Pass-by-Reference Always Faster in PHP?

PHP 中按引用傳遞更快嗎(>=5.0)?

儘管 PHP 中按引用傳遞的主要目的是由於變數操作超出了函數的範圍,人們可能會推測它是否也會影響效能。 PHP 採用 Copy On Write 來最佳化物件和陣列複製,這應該消除了對保持不變的參數進行引用傳遞的需要。

效能比較

至為了確定效能影響,我們進行了 100,000 次函數呼叫的實驗,並傳遞 20 kB 字串作為參數。測試了兩個場景:

  1. 讀取/使用參數的函數
  2. 寫入/修改參數的函數

結果結果

  • 結果

    結果

    結果
      結果
    • 結果
    • 結果
  • 結果

    結果

    結果
    按值傳遞與讀取/使用參數的參考:

按值傳遞:0.12065005 秒

按值傳遞:0.12065005 秒
  1. 透過引用傳遞:1.52171397 秒
透過值傳遞與寫入/修改參數的引用:傳遞按值:1.52223396秒通過引用:1.52388787秒結論通過值始終比按引用傳遞更快。 對於修改參數值的函數,按值傳遞和按引用傳遞之間沒有實際效能差異。

以上是PHP 中的引用傳遞總是更快嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn