判断php方法占用内存最小的程序

因为平时实现一个功能的方法有很多
但是想选择一个占用内存最小的
这个那位奉献一下程序...

刘锡涛
刘锡涛
281
编辑于2012-03-07
评论 (0)链接2012-03-07 

其实就是利用 memory_get_usage()
PHP memory_get_usage() 函数还可以有个参数,$real_usage,其值为布尔值。默认为 FALSE,表示得到的内存使用量不包括该函数(PHP 内存管理器)占用的内存;当设置为 TRUE 时,得到的内存为不包括该函数(PHP 内存管理器)占用的内存。

  
if (!function_exists('memory_get_usage')) 
{
function memory_get_usage()
{
$pid = getmypid();
if (IS_WIN)
{
exec('tasklist /FI "PID eq ' . $pid . '" /FO LIST', $output);
return preg_replace('/[^0-9]/', '', $output[5]) * 1024;
}
else
{
exec("ps -eo%mem,rss,pid | grep $pid", $output);
$output = explode(" ", $output[0]);
return $output[1] * 1024;
}
}
}
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-03-07

php的memory_get_usage能获取程序占用内存的大小,这样用就行:

  
$m1 = memory_get_usage(); 

yourfunc();

$m2 = memory_get_usage();

echo $m1-$m2;

另外通过执行命令行也能得到进程占用内存的大小,手册上查到的函数如下:

  
if (!function_exists('memory_get_usage'))
{
function memory_get_usage()
{
$pid = getmypid();
if (IS_WIN)
{
exec('tasklist /FI "PID eq ' . $pid . '" /FO LIST', $output);
return preg_replace('/[^0-9]/', '', $output[5]) * 1024;
}
else
{
exec("ps -eo%mem,rss,pid | grep $pid", $output);
$output = explode(" ", $output[0]);
return $output[1] * 1024;
}
}
}
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-03-07

使用memory_get_usage():PHP 查看内存 函数 memory_get_usage()

该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-03-07
德问是一个专业的编程问答社区,请 登录注册 后再提交答案