C # передает любой метод в качестве параметра

При ведении журнала вы всегда запутаетесь в строковых литералах.

Я решил это удобно для свойств, полей и переменных, передавая Expression > expression (как объясняется здесь ), поэтому вы можете делать такие вещи: Я использовал xdebug и cachegrind для профилирования кода, но он ...

Я начал свой первый довольно серьезный проект программирования с помощью PHP, и мне трудно получить хорошую информацию для профилирования. Я использовал xdebug и cachegrind для профилирования кода, но при этом предполагается, что время «самостоятельного» выполнения функции - это общее время, которое требуется для выполнения функции, за вычетом агрегированного времени любой функции (ей), которую она вызывает.

Хотя это и есть правильный по сути, он не помогает, как мог бы, когда я пытаюсь оптимизировать код. Например, у меня есть простая функция с двумя операторами if, которая возвращает массив с двумя значениями и занимает 26% от общего времени выполнения согласно xdebug. Он использует array_key_exists, и я вижу, что время выполнения этих вызовов функций составляет около 1%. Чего я не вижу, так это того, как остальные 25% времени выполнения приходятся на остальную часть кода. Сколько времени потребовалось для операторов if, получения пары значений, помещения этих значений в массив и возврата массива?

Есть ли какой-нибудь флаг xdebug, который я пропустил в документации? Или есть инструмент профилирования для PHP, который профилирует присвоение переменных, операторов, построение основных типов данных и другие нефункциональные вызовы? Предпочтительно что-то, что не предполагает, что сценарий доступен через веб-сервер.

Примером чего-то похожего на то, что я ищу, является nytprof для perl. Обратите внимание, что он профилирует каждую строку кода внутри функции (кроме последнего нажатия, которое никогда не выполняется).

9
задан Ogo 26 March 2011 в 16:10
поделиться