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


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;.

  • Share/Bookmark

Читайте ещё похожие статьи на этом сайте:

  1. PHP-тест. Что быстрее var_export или print_r?
  2. PHP-тест операторов цикла с массивом. FOR, WHILE или FOREACH?
  3. PHP дробная часть числа
  4. PHP функция для конвертирования размеров файла (*KB, *MB, *GB)
1 балл2 балла3 балла4 балла5 баллов (Без рейтинга)
Loading ... Loading ...
PHP, Программирование


Если Вам понравилась эта статья, пожалуйста оставьте свой комментарий или подпишитесь на RSS-канал и получайте в будущем статьи на RSS Reader.

Написать комментарий

(обязательно)

(обязательно, не публикуется)