Время выполнения методов [дубликат]

138
20 июля 2019, 18:50

На данный вопрос уже ответили:

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

Есть класс. Хочется узнать, сколько времени при вызове выполняются разные методы этого класса. (т.е. чтобы вывелось echo-м на экран 'время выполнения метода M - n секунд'). Как это лучше реализовать? (Интересует только время выполнения вызванных методов (их может быть много в классе, нужен универсальный механизм), а не всего скрипта в целом)

UPD. Реализовал так: 1) runkit + ReflectionMethod (который вытягивает код метода для runkit) добавил в мой новый метод класса ( назвал before_calling) Сам метод (before_calling) добавляет вверху $start = microtime(true); и внизу $time_elapsed_secs = microtime(true) - $start; echo 'Время выполнения метода '.$time_elapsed_secs.'сек'; 2) В конструкторе вытянул все методы класса ( функция get_class_methods) 3) Там же foreach пробежал все полученные методы класса и вызвал для каждого метод before_calling. В итоге, при вызове любого метода на экран выводится сообщение о времени выполнения метода.

Может кому-то понадобится.

Answer 1

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

READ ALSO
kcfinder + Ckeditor +laravel

kcfinder + Ckeditor +laravel

при загрузке изображения пишет нет прав

109
kcfinder + Ckeditor неизвестная ошибка

kcfinder + Ckeditor неизвестная ошибка

при загрузке фото или обновлении загрузчика пишет "неизвестная ошибка"

118
Code::Blocks - как убрать cc1: warning: option -std=c++XX is valid for C++/ObjC++ but not for C

Code::Blocks - как убрать cc1: warning: option -std=c++XX is valid for C++/ObjC++ but not for C

Если в проекте есть разные типы исходных файлов (C/C++), то возникает ошибка, если используется стандарт выше чем из версии установки gcc по умолчанию

151
Как двигать спрайт в направление куда он смотрит?

Как двигать спрайт в направление куда он смотрит?

Есть такой код управления спрайтом:

109