欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP特点之垃圾回收机制3——性能方面考虑的因素

程序员文章站 2022-04-01 21:37:07
...
在上一节我们已经简单的提到:回收可能根有细微的性能上影响,但这是把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)!