«self» - это время выполнения функции БЕЗ любых включений (и других вызовов функций) внутри нее, а «включить» - это все время выполнения функции (включая файлы, функцию и т. Д.). Возьмем пример:
function a()
{
b();
c();
}
function b() { // some code }
function c()
{
d()
}
function d() { // some code }
Функция времени само будет примерно равным нулю, но так как она называет бив его включают время будет высоким и содержит время для а, Ь и с. Точно так же b self и include time будут такими же, как если бы они не вызывали какую-либо функцию. В то время как c self будет приблизительно 0 и включает время, приблизительно равное d, включает время.
Глядя на ваш qcachegrind, ваш код тратит много времени на вызовы PDO. Что-то связано с запросом SQL. Вы также хотите записать свои SQL-запросы и просмотреть их, чтобы посмотреть, как они работают.
Также интересно в выводе количество раз, когда вызывается функция. Функция может быть эффективной с точки зрения производительности, но если она называется слишком много раз, она будет складываться. Проверьте, не вызывает ли код слишком много запросов SQL.
Итак, «self» - это время выполнения функций БЕЗ любых включений внутри него, а «include» - это все время выполнения функции (включая файлы, функцию и т. Д.), Правильно? – webcitron
есть. Я обновил ответ, чтобы разъяснить его в соответствии с вашим предложением. –