Профилирование памяти PHP

Попробуйте это:

ПОЛУЧИТЕ ЗАПИСЬ ДЛЯ CURRENT_MONTH, LAST_MONTH и ALL_TIME И MERGE ИХ В ОДНОМ МАТРИЦЕ

$analyticsData = $this->user->getMemberInfoCurrentMonth($userId);
$analyticsData1 = $this->user->getMemberInfoLastMonth($userId);
$analyticsData2 = $this->user->getMemberInfAllTime($userId);                        

    foreach ($analyticsData2 as $arr) {                
        foreach ($analyticsData1 as $arr1) {
            if ($arr->fullname == $arr1->fullname) {
                $arr->last_send_count = $arr1->last_send_count;
                break;
            }else{
                $arr->last_send_count = 0;
            }
        }
        foreach ($analyticsData as $arr2) {
            if ($arr->fullname == $arr2->fullname) {
                $arr->current_send_count = $arr2->current_send_count;
                break;
            }else{
                $arr->current_send_count = 0;
            }
        }
    }
    echo "<pre>";
    print_r($analyticsData2);die;
92
задан JW. 23 August 2009 в 15:54
поделиться

1 ответ

Возможно, это не совсем то, что вы ищете, но в PHP есть несколько встроенных функций, которые выводят данные об использовании памяти. Если вы просто хотите узнать, сколько памяти использует вызов функции, вы можете использовать memory_get_peak_usage () до и после вызова, и учесть разницу.

Вы используете ту же технику для ваших данных, используя очень похожий memory_get_usage () .

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

17
ответ дан 24 November 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: