PHP-тест на производительность (присваивание)

Решил протестировать выполнение обычного для первого взгляда PHP-кода (присваивание).
PHP Version 5.2.5
Что быстрее? Этот синтаксис:
$a = 0; $b = 0; $c = 0;
или этот:
$a = $b = $c = 0;
Цифры говорят сами за себя. 1-ый вариант оказался на 24% быстрее, но все же следует учесть, что для получения такого результата я использовал миллиардный цикл.
time1: 4.5581 s
time2: 5.9891 s
time1 - time2: 23.89 %
Вот собственно PHP-код, которым я тестировал:
< ?php
$time_start1 = microtime(1);
for($i = 0; $i < 10000000; $i++) {
$a = 0; $b = 0; $c = 0;
}
$time_end1 = microtime(1);
$time1 = round($time_end1 - $time_start1, 4);
$time_start2 = microtime(1);
for($i = 0; $i < 10000000; $i++) {
$a = $b = $c = 0;
}
$time_end2 = microtime(1);
$time2 = round($time_end2 - $time_start2, 4);
echo 'time1: ' . $time1 . ' s time2: ' . $time2 . ' s';
echo 'time1 - time2: ' . round((100 * ($time1 - $time2))/$time1, 2) . ' %';
?>
Понятно, что при обычном программировании, это не будет особо сказываться на производительность. Но все же лучше знать, что $a = 0; $b = 0; быстрее, чем $a = $b = 0;.
Читайте ещё похожие статьи на этом сайте:
- PHP-тест. Что быстрее var_export или print_r?
- PHP-тест операторов цикла с массивом. FOR, WHILE или FOREACH?
- PHP дробная часть числа
- PHP функция для конвертирования размеров файла (*KB, *MB, *GB)
Если Вам понравилась эта статья, пожалуйста оставьте свой комментарий или подпишитесь на RSS-канал и получайте в будущем статьи на RSS Reader.
