2014
11-07
11-07
PHP特点之垃圾回收机制1——引用计数的基本知识
每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(referenceset)。通过这个字节,php引擎才能把普通变量和引用变量区分开来,由于php允许用户通过使用&来使用自定义引用,zval变量容器中还有一个内部引用计数机制,来优化内存使用。第二个额外字节是"refcount",用以表示指向这个zval变量容器...
继续阅读 >
在上一节我们已经简单的提到:回收可能根有细微的性能上影响,但这是把PHP5.2与PHP5.3比较时才有的。尽管在PHP5.2中,记录可能根相对于完全不记录可能根要慢些,而PHP5.3中对PHPrun-time的其他修改减少了这个性能损失。这里主要有两个领域对性能有影响。第一个是内存占用空间的节省,另一个是垃圾回收机制执行内存清理时的执行时间增加(run-timedelay)。我们将研究这两个领域。内存占用空间的节省首先,实现垃圾...