Время работы DateTime и strtotime, date
Я тут писал про один способ преобразования mysql даты в любой другой формат, и Кристиан Арчер написал мне про тот самый способ, который используют все. Но! Во-первых, он процедурный. А во-вторых, мне заинтересовала скорость его работы. Поэтому Я решил протестировать данные куски кода.
Итак нам надо сравнить скорость выполнения работы php скрипта:
$a = date('d/m/Y',strtotime('Y-m-d')); |
И скорость выполнения работы php скрипта:
$date = DateTime::createFromFormat('Y-m-d','Y-m-d'); $a = $date->format('d/m/Y'); |
Пишем скрипт:
<!--?php $countTime = 0; // счетчик времени for($i = 0; $i < 10000; $i++) { // прогоняем 10000 раз $randDate = rand(1980,2012).'-'.rand(1,12).'-'.rand(1,29); // получаем произвольную дату $start = get_micro_time(); // старт $a = date('d/m/Y',strtotime($randDate)); // преобразовываем $countTime += get_micro_time()-$start; // прибавляем } echo 'strtotime отработал за: '.$countTime; echo '<br?-->'; $countTime = 0; for($i = 0; $i < 10000; $i++) { $randDate = rand(1980,2012).'-'.rand(1,12).'-'.rand(1,29); // получаем произвольную дату $start = get_micro_time();// старт $date = DateTime::createFromFormat('Y-m-d',$randDate);// преобразовываем $a = $date->format('d/m/Y');// преобразовываем $countTime += get_micro_time()-$start; // прибавляем } echo 'DateFormat отработал за: '.$countTime; function get_micro_time() { list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } ?> |
Результат у меня получился такой:
strtotime отработал за: 0.30280590057373 DateFormat отработал за: 0.22202725410461
Как видим, за 10000 прогонов данной операции мы получили отставание date(”,strtotime()) во времени на целую 0.078 секунды :)
Скачать скрипт datetime vs strtotime.
25% может смысл и есть, но повальная замена неоправдана
p.s. о! опенид заработал :)
между процентом и “может” точка :D
btw еще бы подписку на каменты прикрутить не помешало. она есть в плагине subscribe to comments и в джетпаке
А каким образом ты хочешь на них подписаться? Есть фид для комментов (ссылка справа). Есть фид на почту (ссылка в подвале).
о, он еще и сам подписывает. вроде раньше сами по себе уведомлялки не приходили… впрочем, я давно не сидел на чужих вордпрессах :D
а не :) ты про это :) это отдельный плагин )
ясно. я привык к плагинам, где самому надо галки ставить
ну так Я и не говорю про замену, Я говорю про то, что надо начинать использовать этот метод :)