include vs unserialize
Код:
<?php
clearstatcache();
isset ($Gsv_self) || $Gsv_self='./';
$Gsv_statist['start']=microtime();
include_once is_file ('./includes/options.php') ? './includes/options.php' : exit('file not found');
$Gsv_statist['middle']=microtime();
//$h=fopen('./cache/test.swp', 'w+');
//fwrite($h, serialize($GLOBALS));
//fclose($h);
$GLOBALS=unserialize(file_get_contents('./cache/test.swp'));
$Gsv_statist['end']=microtime();
list($usec_start, $sec_start) = explode(" ",$Gsv_statist['start']);
list($usec_end, $sec_end) = explode(" ",$Gsv_statist['middle']);
echo ((float)$usec_end + (float)$sec_end)-( (float)$sec_start+(float)$usec_start);
echo '
';
list($usec_start, $sec_start) = explode(" ",$Gsv_statist['middle']);
list($usec_end, $sec_end) = explode(" ",$Gsv_statist['end']);
echo ((float)$usec_end + (float)$sec_end)-( (float)$sec_start+(float)$usec_start);
?>
clearstatcache();
isset ($Gsv_self) || $Gsv_self='./';
$Gsv_statist['start']=microtime();
include_once is_file ('./includes/options.php') ? './includes/options.php' : exit('file not found');
$Gsv_statist['middle']=microtime();
//$h=fopen('./cache/test.swp', 'w+');
//fwrite($h, serialize($GLOBALS));
//fclose($h);
$GLOBALS=unserialize(file_get_contents('./cache/test.swp'));
$Gsv_statist['end']=microtime();
list($usec_start, $sec_start) = explode(" ",$Gsv_statist['start']);
list($usec_end, $sec_end) = explode(" ",$Gsv_statist['middle']);
echo ((float)$usec_end + (float)$sec_end)-( (float)$sec_start+(float)$usec_start);
echo '
';
list($usec_start, $sec_start) = explode(" ",$Gsv_statist['middle']);
list($usec_end, $sec_end) = explode(" ",$Gsv_statist['end']);
echo ((float)$usec_end + (float)$sec_end)-( (float)$sec_start+(float)$usec_start);
?>
инклуд скрипта в котором только обьявления переменных работает в среднем в два раза медленнее чем unserialize предварительно serialize массива GLOBALS. Просьба - погоняйте на своих скриптах, кому не лень - у кого какие результаты.
p.s. попробовал на lang_admin.php от phpBB, разница до трех раз. По ходу, чем больше переменных, тем больше разница.
Чегевар, видимо нужно изучать php-шные исходники, чтобы понять, что и почему.. занимаюсь вот счас тем же делом, но с perl, изучаю его исходники regexp`ов.. И тебе советую, в свои щах покопаца=)ъ
Цитата:
Originally posted by Shiizoo
Чегевар, видимо нужно изучать php-шные исходники, чтобы понять, что и почему..
Чегевар, видимо нужно изучать php-шные исходники, чтобы понять, что и почему..
Да нет, почему понятно - одно дело пропарсить php скрипт со сложной грамматикой, а другое- serialize строку с грамматикой очень простой. Понятно что последнее будет исполняться быстрее. Мне было интересно насколько быстрее на реальных скриптах, а не надуманных. Попробовал из своих самый большой, из phpBB взял кусочек, может у кого что другое обнаружится. А в исходниках покопаться- и до этого дойдем, но не сейчас. :D
=)ъ а я не знаю как пхп нагрузить, я в его синтаксис втыкаюсь=)))) вязнууу просто)ъ блина, ну на днях, ну Лама Бук найду=) ох обчитаюсь.. давно хотел. руки не доходили..) вот радости будет..)ъ эхх..