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