• Модуль: perfmon
  • Путь к файлу: ~/bitrix/modules/perfmon/classes/general/measure.php
  • Класс: CPerfomanceMeasure
  • Вызов: CPerfomanceMeasure::GetPHPFilesMark
static function GetPHPFilesMark()
{
	$res = [];
	$file_name = $_SERVER["DOCUMENT_ROOT"] . "/" . BitrixMainConfigOption::get("main", "upload_dir", "/upload/") . "/perfmon#i#.php";
	$content = "";

	for ($j = 0; $j < 4; $j++)
	{
		$s1 = microtime(true);
		for ($i = 0; $i < 100; $i++)
		{
			$fn = str_replace("#i#", $i, $file_name);
		}
		$e1 = microtime(true);
		$N1 = $e1 - $s1;

		$s2 = microtime(true);
		for ($i = 0; $i < 100; $i++)
		{
			//This is one op
			$fn = str_replace("#i#", $i, $file_name);
			$fh = fopen($fn, "wb");
			fwrite($fh, $content);
			fclose($fh);
			include($fn);
			unlink($fn);
		}
		$e2 = microtime(true);
		$N2 = $e2 - $s2;

		if ($N2 > $N1)
		{
			$res[] = 100 / ($N2 - $N1);
		}
	}

	if (count($res))
	{
		return array_sum($res) / doubleval(count($res));
	}

	return 0;
}