За последние 24 часа нас посетили 31929 программистов и 1380 роботов. Сейчас ищут 690 программистов ...

Вопрос по memory_get_usage()

Тема в разделе "PHP для новичков", создана пользователем Walk, 25 дек 2017.

  1. Walk

    Walk Активный пользователь

    С нами с:
    7 сен 2008
    Сообщения:
    452
    Симпатии:
    86
    Давно интересовал вопрос о том, сколько памяти съедает тот или иной скрипт.

    Погуглил, нашел примеры с memory_get_usage(), но его работа не совсем понятна. Например, пустой скрипт занял 152 байта:

    PHP:
    1. $mem_start = memory_get_usage();
    2.  
    3. echo memory_get_usage() - $mem_start; // 152
    А такой:
    PHP:
    1. $mem_start = memory_get_usage();
    2.  
    3. $i = 0;
    4. while ($i < 50000) {
    5.     $i++;
    6. }
    7.  
    8. echo '<p>'.memory_get_usage() - $mem_start.'</p>'; // -224768
    -224768

    И сразу возникает вопрос - почему минус?
    --- Добавлено ---
    Разобрался, во втором случае нужно добавить скобки:

    PHP:
    1. echo '<p>'.(memory_get_usage() - $mem_start).'</p>'; // 288
     
  2. glorsh66

    glorsh66 Активный пользователь

    С нами с:
    9 июл 2017
    Сообщения:
    247
    Симпатии:
    4
    Чет как то странно себя ведет)