[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как работает функция memory_get_usage()
Гость_123
Здравствуйте, я балуюсь с функцией memory_get_usage(), но немогу понять почему она так странно работает, есть предположим код:

<?
echo memory_get_usage(), "<br>";
$qwe = true;
echo memory_get_usage();
?>

Второе выведенное число будет большепервого, с этим все понятно, появляется новая переменная и занила память, но почему если я после второй функции memory_get_usage() напишу переменную оба числа увеличатся?



Спустя 2 часа, 2 минуты, 52 секунды (20.08.2011 - 19:08) vasa_c написал(а):
Что?

Спустя 9 минут, 13 секунд (20.08.2011 - 19:17) Guest написал(а):
Неужели я так плохо объеснил, есть код:
<?
echo memory_get_usage(), "<br>";
$qwe = true;
echo memory_get_usage();
?>

Почему число которое выводит функция увеличивается если я пишу так:
<?
echo memory_get_usage(), "<br>";
$qwe = true;
echo memory_get_usage();
$r = true;
?>

Спустя 7 минут, 48 секунд (20.08.2011 - 19:25) vasa_c написал(а):
По бесконечному количеству причин внутренней архитектуры интерпретатора.
Ещё более интересный пример:
echo memory_get_usage().' '.memory_get_usage(); // 319396 319412


Спустя 7 минут, 27 секунд (20.08.2011 - 19:32) Guest написал(а):
Вобщем странная функция, либо функция лаганная либо работа интерпритатора какаето странная, потому что например таже переменная boolean занимет 80 байт, хотя по логике должна 2

Спустя 1 минута, 39 секунд (20.08.2011 - 19:34) Guest написал(а):
Спасибо большое за интересный пример

Спустя 3 минуты, 20 секунд (20.08.2011 - 19:37) vasa_c написал(а):
Цитата
Вобщем странная функция, либо функция лаганная либо работа интерпритатора какаето странная, потому что например таже переменная boolean занимет 80 байт, хотя по логике должна 2


Почему 2? Значение должно занять 1.
А структура, описывающая переменные внутри интерпретатора, имя переменной, её тип и запись о ней в локальном контексте займут ещё очень много.

Спустя 12 минут, 45 секунд (20.08.2011 - 19:50) Guest написал(а):
Блин, точно место одно, значения 2))

Спустя 1 час, 46 минут, 50 секунд (20.08.2011 - 21:37) Arni написал(а):
Цитата (vasa_c @ 20.08.2011 - 16:25)
По бесконечному количеству причин внутренней архитектуры интерпретатора.
Ещё более интересный пример:
echo memory_get_usage().' '.memory_get_usage(); // 319396 319412

Этот пример абсолютно логичный на мой взгляд. Первый вызов функции вернул результат, и его кудато нужно было впихнуть, вот и впихнули в строку чтобы потом выдать через конструкцию языка echo. А вот первый пример мне больше понравился.

Спустя 35 минут, 58 секунд (20.08.2011 - 22:13) Guest написал(а):
Цитата
Первый вызов функции вернул результат, и его кудато нужно было впихнуть, вот и впихнули в строку чтобы потом выдать через конструкцию языка echo.

Так гораздо понятнее))))
Хотя всеравно немогу понять почему так странно работает мой код((
Кстати говоря, если судить по данным получиным этой функцией, ООП бесполезен в php и нужен только для лишней нагрузки памяти

Спустя 2 минуты, 13 секунд (20.08.2011 - 22:15) alex12060 написал(а):
Все зависит от разных факторов, не только от того, что присваиваете. Зависит, как сказали выше, от архитектуры ОС, от сервера, от процессов, запущенных на нем.

Спустя 11 часов, 55 минут, 38 секунд (21.08.2011 - 10:11) Guest написал(а):
Цитата
Кстати говоря, если судить по данным получиным этой функцией, ООП бесполезен в php

Несомненно о полезности ООП нужно судить по данным этой функции.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.