PHP-тест. Что быстрее var_export или print_r?

Решил протестировать функции экспорта массива.
PHP Version 5.2.5
Что быстрее? Этот синтаксис:
$str = var_export($array);
или этот:
$str = print_r($array, true);
1-ый вариант (var_export) оказался на 22% быстрее, чем print_r.
time1: 4.2442 s
time2: 5.4233 s
time2 - time1: 21.74 %
Вот собственно PHP-код, которым я тестировал экспорт массива в строковую переменную:
<?php
$arr = array();
for($i = 0; $i < 3000 ; $i++) $arr[] = $i;
$time_start1 = microtime(1);
for($i = 0; $i < 1000; $i++) {
$var = var_export($arr, true);
}
$time_end1 = microtime(1);
$time1 = round($time_end1 - $time_start1, 4);
$time_start2 = microtime(1);
for($i = 0; $i < 1000; $i++) {
$var = print_r($arr, true);
}
$time_end2 = microtime(1);
$time2 = round($time_end2 - $time_start2, 4);
echo 'time1: ' . $time1 . ' s<br/>';
echo 'time2: ' . $time2 . ' s<br/>';
echo 'time2 - time1: ' . round((100 * ($time2 - $time1))/$time2, 2) . ' %';
?>
Читайте ещё похожие статьи на этом сайте:
- PHP-тест на производительность (присваивание)
- PHP-тест операторов цикла с массивом. FOR, WHILE или FOREACH?
- PHP функция для конвертирования размеров файла (*KB, *MB, *GB)
- PHP дробная часть числа
- Автоматическая авторизация в MaxDSL через PHP-скрипт, Internet – MoldTelecom
Если Вам понравилась эта статья, пожалуйста оставьте свой комментарий или подпишитесь на RSS-канал и получайте в будущем статьи на RSS Reader.

Тестировать скорость выполнения функции это хорошо, но зачем тестить скорость выполнения print_r? Его же всеравно используют только тогда когда нужно проверить данные, а на выполнение окончательного клиентского скрипта, эта функция никак не влияет.
Из трех функций подобного рода print_r() var_dump() и var_export() привык к представлению информации print_r(). Хотя var_dump() более информативна, а var_export() быстрее.
Ну var_dump(), это же самое, что и var_export(). Просто 1-ая не возвращает данные в строку, а просто выводит их. Поэтому невозможно var_dump()-ом данные сохранить в файл.
А для меня тоже проще работать с print_r() … меньше лишней информации.