Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2012, 20:57   #1
Dexes
Пользователь
 
Регистрация: 27.12.2011
Сообщений: 86
По умолчанию Как узнать время работы функции?

Как узнать сколько времени выполняется функция?
Есть идея брать время до вызова функции и после окончания выполнения функции, разница этих двух временных точек и будет время выполнения функции.
PHP код:
$k date('s');
$city get_city();
$k date('s') - $k;
echo 
'Время выполнения функции: '.$k
Но как узнать с точностью до сотых секунды?
date('s:u') - всегда выводит "секунды:0000" (нули вместо микросекунд), хотя версия PHP 5.3.3
Dexes вне форума Ответить с цитированием
Старый 03.01.2012, 21:05   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Функция microtime()
Andkorol вне форума Ответить с цитированием
Старый 03.01.2012, 21:25   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Разбирайтесь:
Код:
//-------------------- Функции отладочной информации -------------------------//
function startdebug() {
	global $start_time;
	// считываем текущее время
	$start_time = microtime();
	// разделяем секунды и миллисекунды
	$start_array = explode(" ",$start_time);
	// это и есть стартовое время
	$start_time = $start_array[1] + $start_array[0];
}

function enddebug() {
	global $start_time;
	$end_time = microtime();
	$end_array = explode(" ",$end_time);
	$end_time = $end_array[1] + $end_array[0];
	// вычитаем из конечного времени начальное
	$time = $end_time - $start_time;
	// выводим в выходной поток время генерации страницы
	return "Страница сгенерирована за ".number_format($time, 4, '.', '')." секунд";
}
//----------------------------------------------------------------------------//
Виталий Желтяков вне форума Ответить с цитированием
Старый 29.10.2012, 12:13   #4
Aleks I
Новичок
Джуниор
 
Регистрация: 29.10.2012
Сообщений: 3
По умолчанию

$start = microtime(1);

// скрипт

echo " <B>".(round(microtime(1)-$start,6)*1000)."</B> ms - время выполнения скрипта (миллисекунд)";


если интервал времени измеряется внутри функции, то переменная определяется как глобальная - global $start;
Aleks I вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
узнать время работы отдельного участка программы H'orn Общие вопросы .NET 7 10.03.2010 10:10
Как определить время работы функции? TwiX Общие вопросы Delphi 7 09.10.2009 17:21
Время работы функции с массивом. Daedro Помощь студентам 8 14.07.2009 15:40
Как узнать время работы программы в паскаль? bullvinkle Помощь студентам 2 26.12.2008 11:20
Как узнать создана ли форма во время работы приложения? Avalonix Общие вопросы Delphi 4 31.05.2008 21:01