سنجش میزان مصرف حافظه و پردازنده کد php

سنجش میزان مصرف حافظه و پردازنده کد php

زمانی که حجم پردازش کد زیاد می شود، بررسی مصرف حافظه و پردازنده اهمیت ویژه ای می یابد. گاهی اوقات نیاز شدیدی به اندازه گیری میزان مصرف حافظه و یا مدت زمان اجرای کد احساس می شود. به عبارت دیگر نیاز است کد خود را benchmark کنیم. یا حتی زمانی نیاز داریم سرعت اجرای دو کد را مقایسه کنیم. مثلا قصد دارید ببینید در یک الگوریتم استفاده از if و else if سرعت و عملکرد بهتری دارد یا دستور switch؟

برای سنجش همه موارد بالا می توانید از کد زیر استفاده کنید.

<?php

// Script start
$usage_start = getrusage();

echo "PHP RAM Usage - Start: " . convert(memory_get_usage()) . "\n";

ob_start();

// Start Code

/* Your Code */

ob_clean();


echo "PHP RAM Usage - End: " . convert(memory_get_usage()) . "\n";

// Script end
function convert($size)
{
	$unit = array('B', 'KB', 'MB', 'GB', 'TB', 'PT');
	return @round($size / pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $unit[$i];
}

function check($ru, $rus, $index)
{
	return ($ru["ru_$index.tv_sec"] * 1000 + intval($ru["ru_$index.tv_usec"] / 1000))
		- ($rus["ru_$index.tv_sec"] * 1000 + intval($rus["ru_$index.tv_usec"] / 1000));
}

$usage_end = getrusage();

echo "This process used " . check($usage_end, $usage_start, "utime") .
	" ms for its computations.\n";
echo "It spent " . check($usage_end, $usage_start, "stime") .
	" ms in system calls.\n";

کد خود را در قسمت مشخص شده قرار دهید. این کد از تابع getrusage برای محاسبه مدت زمان اجرا و مصرف پردازنده و از تابع memory_get_usage برای محاسبه میزان حافظه RAM مصرف شده توسط php استفاده می کند. همچنین شما می توانید یک مثال استفاده از این کد را در اینجا مشاهده کنید.

One thought on “سنجش میزان مصرف حافظه و پردازنده کد php

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.