首頁  >  文章  >  後端開發  >  PHP特點之垃圾回收機制3-效能方面考慮的因素

PHP特點之垃圾回收機制3-效能方面考慮的因素

黄舟
黄舟原創
2017-03-14 17:06:231311瀏覽

在上一節我們已經簡單的提到:回收可能根有細微的性能上影響,但這是把PHP 5.2與PHP 5.3比較時才有的。儘管在PHP 5.2中,記錄可能根相對於完全不記錄可能根要慢些,而PHP 5.3中對 PHP run-time 的其他修改減少了這個性能損失。
這裡主要有兩個領域對效能有影響。第一個是記憶體佔用空間的節省,另一個是垃圾回收機制執行記憶體清理時的執行時間增加(run-time delay)。我們將研究這兩個領域。
記憶體佔用空間的節省
首先,實現垃圾回收機制的整個原因是為了,一旦先決條件滿足,透過清理循環引用的變數來節省記憶體佔用。在PHP執行中,一旦根緩衝區滿了或呼叫 gc_collect_cycles()函數時,就會執行垃圾回收。在下圖中,顯示了下面腳本分別在PHP 5.2 和 PHP 5.3環境下的記憶體佔用情況,其中排除了腳本啟動時PHP本身所佔用的基本記憶體。
Example #1 記憶體使用範例 

<?php  
    class Foo  
    {  
        public $var = '3.1415962654';  
    }  
  
    $baseMemory = memory_get_usage();  
  
    for ( $i = 0; $i <= 100000; $i++ )  
    {  
        $a = new Foo;  
        $a->self = $a;  
        if ( $i % 500 === 0 )  
        {  
            echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";  
        }  
    }  
?>

以上就是PHP特點之垃圾回收機制3-效能方面考慮的因素的內容,更多相關內容請關注PHP中文網(www.php.cn)!


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