php array占用内存测试
[ 2010/09/21 11:12 | by selboo ]
<?php
function convert($size)
{
$unit=array(‘b’,'kb’,'mb’,'gb’,'tb’,'pb’);
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).’ ‘.$unit[$i];
}
$start=memory_get_usage(true);
$test=array();
for($i=0;$i<100000;$i++)
$test[md5($i)]=1;
echo convert(memory_get_usage(true) – $start);
function convert($size)
{
$unit=array(‘b’,'kb’,'mb’,'gb’,'tb’,'pb’);
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).’ ‘.$unit[$i];
}
$start=memory_get_usage(true);
$test=array();
for($i=0;$i<100000;$i++)
$test[md5($i)]=1;
echo convert(memory_get_usage(true) – $start);
结果:17.25 mb
意思就是10万个32位的array key,占用内存17.25M
直接返回数组的方法是最慢的
[ 2010/08/29 11:47 | by selboo ]
缓存文件,大家用的最多的估计就是 return array();
实验证明,这种方法是较慢的,试考查以下的3个文件.
其一. $arr.php 直接返回 数组
[code]<?php
return Array
(
"db_host1" => 123,
"db_host2" => 123,
"db_host3" => 123,
"db_host4" => 123,
"db_host5" => 123,
"db_host6" => 123,<