посчитать время выполнения скрипта php

Функции языка для измерения время выполнения скрипта PHP

Дата публикации: 2016-09-20

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

От автора: сын моего знакомого настолько увлекся химией, что начал дома проводить различные «испытания». После того, как их «жертвой» стала люстра на кухне, отец попросил его изменить свои пристрастия. В результате ребенок увлекся статистикой, и решил вычислить среднее время горения одной спички. Следствием чего чуть не стало возгорание всей квартиры. Я посоветовал «горе-ученому» заняться программированием, и установить время выполнения скрипта PHP.

Зачем измерения в программировании

Немного пофантазируем. Представим, что есть какой-то «самописный» движок, который разработчик «залил» на хороший хостинг и запустил (на его основе) свой сайт. Но почему-то загрузка ресурса на стороне пользователя происходит очень медленно.

В такой ситуации первоначально все шишки «посыплются» на хостера. Скорее всего, разгневанный программист обратится с жалобой в службу поддержки хостинга. Мол, не выполняются условия договора, сайт еле «живой»…

Но на самом деле проблема медленной загрузки страниц динамического ресурса может скрываться в самом движке. И чтобы не выглядеть потом «чайником», опытный разработчик всегда перед сдачей проекта измеряет время исполнения скрипта PHP.

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Возможности PHP

Я всегда называл PHP одним из самых удобных языков программирования. Чтобы отследить время работы кода, разработчику не требуется писать длинные «талмуды» для перехвата каждой строки скрипта. В данной технологии реализовано несколько специализированных средств. Главным из них является функция microtime(). Она возвращает время (в миллисекундах), прошедшее с начала 1970 г. Так называемое «начало эпохи Unix». Если передать функции параметр get_as_float со значением true, то она будет возвращать временной промежуток в виде целых секунд и дробных миллисекунд.

Принцип использования microtime() заключается в следующем: функцию вызывают в начале скрипта и в его конце. Затем из последнего значения вычитают начальное. Вот как посчитать время выполнения скрипт:

Источник

microtime

(PHP 4, PHP 5, PHP 7, PHP 8)

microtime — Возвращает текущую метку времени Unix с микросекундами

Описание

Функция microtime() возвращает текущую метку времени Unix с микросекундами. Эта функция доступна только на операционных системах, в которых есть системный вызов gettimeofday().

Список параметров

Возвращаемые значения

Примеры

Пример #1 Замер времени выполнения скрипта

// Спим некоторое время
usleep ( 100 );

Пример #2 Пример использования microtime() и REQUEST_TIME_FLOAT

Смотрите также

User Contributed Notes 20 notes

All these timing scripts rely on microtime which relies on gettimebyday(2)

This can be inaccurate on servers that run ntp to syncronise the servers
time.

For timing, you should really use clock_gettime(2) with the
CLOCK_MONOTONIC flag set.

This returns REAL WORLD time, not affected by intentional clock drift.

This may seem a bit picky, but I recently saw a server that’s clock was an
hour out, and they’d set it to ‘drift’ to the correct time (clock is speeded
up until it reaches the correct time)

Those sorts of things can make a real impact.

Any solutions, seeing as php doesn’t have a hook into clock_gettime?

Here is a solution to easily calculate the execution time of a script without having to alter any configuration parameter. It uses the former way of getting microseconds.

It is important to note that microtime(TRUE) does NOT always return a float (at least in PHP 5.x; I have not tested 7.x). If it happens to land on an exact second, it returns an integer instead.

The description of «msec», in this documentation, is very bad.

It is NOT the microseconds that have elapsed since «sec» (if so, it should be given as an integer, without the «0.» in the beginning of the string).
It IS the fractional part of the time elapsed since «sec», with microseconds (10E-6) precision, if the last «00» are not considered significant».
If the last two digits are significant, then we would have a precision of 10E-8 seconds.

mixed mini_bench_to(array timelist[, return_array=false])
return a mini bench result

-the timelist first key must be ‘start’
-default return a resume string, or array if return_array= true :
‘total_time’ (ms) in first row
details (purcent) in next row

The function to include :

Using microtime() to set ‘nonce’ value:

Out of the box, microtime(true) will echo something like:

Which is obviously less than microsecond accuracy. You’ll probably want to bump the ‘precision’ setting up to 16 which will echo something like:

*Internally* it will be accurate to the six digits even with the default ‘precision’, but a lot of things (ie. NoSQL databases) are moving to all-text representations these days so it becomes a bit more important.

* 14 at the time of writing

//timestamp in milliseconds:
intval ( microtime ( true )* 1000 )

//timestamp in microseconds:
intval ( microtime ( true )* 1000 * 1000 )

//timestamp in nanoseconds:
intval ( microtime ( true )* 1000 * 1000 * 1000 )

While doing some experiments on using microtime()’s output for an entropy generator I found that its microsecond value was always quantified to the nearest hundreds (i.e. the number ends with 00), which affected the randomness of the entropy generator. This output pattern was consistent on three separate machines, running OpenBSD, Mac OS X and Windows.

The solution was to instead use gettimeofday()’s output, as its usec value followed no quantifiable pattern on any of the three test platforms.

A convenient way to write the current time / microtime as formatted string in your timezone as expression?

DateTime now is: 2018-06-01 14:54:58 Europe/Berlin
Microtime now is: 180601 14:54:58.781716 Europe/Berlin

I have been getting negative values substracting a later microtime(true) call from an earlier microtime(true) call on Windows with PHP 5.3.8

$time_start = micro_time ();
sleep ( 1 );
$time_stop = micro_time ();

I use this for measure duration of script execution. This function should be defined (and of couse first call made) as soon as possible.

?>

However it is true that result depends of gettimeofday() call. ([jamie at bishopston dot net] wrote this & I can confirm)
If system time change, result of this function can be unpredictable (much greater or less than zero).

Of the methods I’ve seen here, and thought up myself, to convert microtime() output into a numerical value, the microtime_float() one shown in the documentation proper(using explode,list,float,+) is the slowest in terms of runtime.

I implemented the various methods, ran each in a tight loop 1,000,000 times, and compared runtimes (and output). I did this 10 times to make sure there wasn’t a problem of other things putting a load spike on the server. I’ll admit I didn’t take into account martijn at vanderlee dot com’s comments on testing accuracy, but as I figured the looping code etc would be the same, and this was only meant as a relative comparison, it should not be necessary.

Get date time with milliseconds

Test accuracy by running it in a loop.

//Function to convert microtime return to human readable units
//функция для конвертации времени, принимает значения в секундах

Источник

Определяем время работы скрипта PHP

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта phpДоброго времени суток, коллеги! 🙂

Сегодня я решил затронуть такую тему, как время выполнения скрипта PHP и его определение.

Не скажу, что данная необходимость возникает каждый день, но время от времени на практике возникают ситуации, когда нужно получить время работы скрипта PHP.

Особенно часто за таким занятием можно застукать разработчиков, занимающихся рефакторингом кода и оптимизацией существующих алгоритмов, когда время выполнения PHP скрипта является ключевым фактором при выборе конечного варианта.

Ну, и ещё иногда данные цифры требуют менеджеры и заказчики, желающие выяснить, сколько времени потребуется на то или иное действие в коде.

Поэтому я и решил написать данную коротенькую заметку, в которой решил изложить порядок действий в аналогичной ситуации.

Сперва мы рассмотрим сам алгоритм определения времени исполнения PHP скрипта, а затем я приведу код, с помощью которого он будет реализовываться.

Время выполнения PHP скрипта — алгоритм определения

Порядок наших действий будет предельно прост:

Полученное в итоге значение как раз и будет временем выполнения PHP скрипта, которое можно будет принимать во внимание при дальнейшей оптимизации и прочих действиях.

Время работы PHP скрипта — реализация алгоритма

Для вывода текущего времени в PHP коде я решил воспользоваться стандартной PHP функцией microtime(), которая возвращает текущую метку времени в Unix формате с микросекундами.

Зачем такая точность?

Затем, чтобы уловить малейшие изменения времени выполнения скриптов, т.к. иногда доли секунды могут быть фатальны и привести к большим потерям при использовании медленного кода в больших масштабах.

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

Ну, и плюс, учёт микросекунд при вычислениях влияет на точность калькуляций в положительную сторону.

Для демонстрации своих теоретических повествований я написал простенький скриптик, который вычисляет время прогона пустого цикла с 30 000 000 итераций (решил взять побольше для наглядности):

Как сказано в официальной документации PHP, по умолчанию microtime() возвращает строку в формате «msec sec», где sec — количество секунд с начала эпохи Unix (1 января 1970 0:00:00 GMT), а msec — это количество микросекунд, прошедших после sec.

Функция PHP microtime() имеет всего один параметр get_as_float, при указании которому значения true можно получить текущее время PHP в секундах, прошедших с начала эпохи Unix с точностью до микросекунд.

Поскольку мне нужно было именно текущее время, а не количество секунд с начала эпохи Unix, то я воспользовался данным параметром, что можно видеть в моём коде.

В итоге, с помощью функции echo(), на экран вывелось следующее сообщение: Скрипт был выполнен за 1.3156361579895 секунд.

Чтобы определить, что данная методика работает верно, я решил задать фиксированное время выполнения скрипта с помощью функции sleep(), которая делает задержку выполнения скрипта на указанное количество секунд.

В итоге, следующая конструкция вернула сообщение Скрипт был выполнен за 2.0000510215759 секунд:

Превышение указанной задержки на микроскопические доли секунд можно списать на время вызова кодовых конструкций и обработку результатов их выполнения серверным железом, поэтому на них вполне можно закрыть глаза.

Если они будут всё-таки раздражать вас или вашего заказчика, то можете воспользоваться хаком в виде банального округления до сотых или тысячных долей с помощью PHP функции round(), задействовав её следующим образом:

Результатом выполнения данного куска кода для вышеприведённого примера станет значение в кругленькие 2 секунды, что устроит самых искушённых перфекционистов 🙂

На этом сегодняшняя информация о том, как можно определить время выполнения скрипта PHP, подходит к концу.

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

Пишите свои отзывы в комментариях и задавайте интересующие вас вопросы в пабликах проекта в социальных сетях.

Всем удачи и до новых встреч! 🙂

P.S.: если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular и другими технологиями web-разработки.

Опыт разработки проектов различного уровня: лендинги, корпоративные сайты, Интернет-магазины, CRM, порталы. В том числе поддержка и разработка HighLoad проектов. Присылайте ваши заявки на email cccpblogcom@gmail.com.

И с друзьями не забудьте поделиться 😉

Источник

PHP время выполнения скрипта

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

Здравствуйте, уважаемые читатели блога LifeExample, частенько при разработке веб-приложений, возникает задача отследить время выполнения php скрипта. Это нужно в первую очередь для того, чтобы понять насколько быстро, а следовательно и производительно, работает тот или иной кусок программного кода.

Зная время потраченное на выполнение php скрипта, можно оптимизировать код и тем самым ускорить его выполнение.

Чтобы комфортно оптимизировать код проекта на PHP, нужно уметь вычислять время его выполнения. Сегодня я покажу вам, как отследить в php, время выполнения скрипта.

Как определить в php время выполнения скрипта

microtime() – вызвав эту функцию мы получим текущий Unix time stamp в микросекундах.

Функцию microtime() можно использовать как секундомер, вызвав ее дважды мы можем вычислить время прошедшее в этот период.

При выполнении этого php скрипта мы получим надпись:

Время выполнения php скрипта в микросекундах: 0,00039400000000001

Задача решена, но в таком виде не очень удобно анализировать скорость. Предлагаю округлить полученное число до десятитысячной доли, таким образом:

Теперь текст, примет вид:

Прошло времени в микросекундах: 0,0004 msec

Ну и для еще большей удобность предлагаю преобразовать микросекунды, в миллисекунды умножив полученное число на 1000, поскольку в одной миллисекундах ровно 1000 микросекунд.

Теперь зная как в php время выполнения скрипта определить, мы сможем приняться за оптимизацию самых различных частей кода, желаю вам в этом успехов. Пишите в комментариях, кто и как оптимизирует свои скрипты.

Читайте также похожие статьи:

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

Чтобы не пропустить публикацию следующей статьи подписывайтесь на рассылку по E-mail или RSS ленту блога.

Источник

Как узнать время выполнения скрипта

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

При отладке скриптов обязательным фактором, который необходимо учитывать в первую очередь, является время выполнения скрипта. И в этой небольшой статье я покажу очень хороший и простой способ, как узнать время выполнения скрипта.

В основе лежат функции для работы с датой и временем. Предлагаю рассмотреть пример, чтобы Вы поняли, как происходит подсчёт времени выполнения скрипта:

В результате мы увидим, что время выполнения скрипта будет, например, таким: «0.014652967453«. Если округлить, то это 0.015 секунды. Это и есть время выполнения скрипта.

Теперь о том, как это работает. Функция microtime() с переданным значением true возвращает число секунд, прошедших с полуночи 01.01.1970, причём это значение подсчитано до сотых долей секунды.

Далее идёт обычный скрипт, который мы и проверяем. Вместо него, безусловно, будет Ваш скрипт. И, наконец, последней строкой идёт разница между текущим временем (после выполнения скрипта) и тем, что мы зафиксировали при старте скрипта. Разница времени после выполнения скрипта и времени до начала его работы, и есть время выполнения скрипта.

Думаю, здесь всё просто. А вот применять этот способ подсчёта времени я Вам настоятельно рекомендую. Например, когда я отлаживал работу своего движка, на котором и стоит данный сайт, я ускорил его работу почти в 2 раза.

посчитать время выполнения скрипта php. Смотреть фото посчитать время выполнения скрипта php. Смотреть картинку посчитать время выполнения скрипта php. Картинка про посчитать время выполнения скрипта php. Фото посчитать время выполнения скрипта php

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Комментарии ( 20 ):

Михаил, а ваш сайт какое время выполнения скрипта имеет?

18-24 мс в зависимости от страницы.

Ого. Я сделал форум, он у меня выполняется 2-3 секунды. Как можно ускорить? Какие операции занимают больше всего времени?

Хорошая эта штуковина с измерением времени. Оказалось у меня время подключения к БД примерно 1.0148439407349 секунд. Интересно из-за чего это? Из-за СУБД?

Надо тестировать и смотреть, какая строка кода занимает больше всего времени.

Михаил,я вот делаю сайт и в меня там все из базы данных вытаскиваеться,меню,текст,комментарии,и многое,и 2 раза подключаються файлы на каждой странице и вот время выполнение 0.12234306335449 скажите ето сколько милисекунд и ето плохая скорость, или быстрая. Спасибо заранее.

что за переменная sum?

Это просто пример суммирования.

Мне вот тоже интересно узнать. Время выполнения движка на страницу колеблется от 14 до 20 мсек. Это нормально? При условии, что тестирую движок со всеми свистелками на денвере (на своем пк). И как это скажется, если я, допустим, поставлю этот движок на свой сайт в инете, где посещаемость 2000+ в день? Очень заинтересовался вопросом оптимизации, и мучает много вопросов по этой теме, в основном по поводу быстродействия движка, при N-посещаемости на сайте.

Александр, это хороший результат, для домашнего ПК. Сложно сказать как будет вести себя сайт, надо тестировать под нагрузкой.

Спасибо, Александр, успокоили на первое время 🙂

Можете подсказать самый простой но практичный способ добавления статей на сайт?чтобы не вручную html писать каждый раз а прямо на сайте написать статью и нажать кнопку добавить и она появилась в разделе нужном.расскажите о принципах.полностью код писать не нужно. спасибо!

Здравствуйте. Все не так просто как хотелось бы. Тут одним HTML не обойтись. Используется связка php+mySQL. Элементарно сделать, это можно путем добавления текста, который введен в форму в БД, а с БД выводить уже.

понял.спасибо.буду разбираться сам ))) а можете еще ответить на мой вопрос на странице http://myrusakov.ru/podkluchenie-file-php.html спасибо

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *