|
|
|
| Народ,чисто из любопытства, при создании переменных им выделяются участок памяти, как посмотреть таблицу с созданными переменными и выделенной для них памяти.? | |
|
|
|
|
|
|
|
для: demonow
(05.02.2012 в 14:00)
| | Для того, чтобы вывести список переменных, следует обратиться к функции get_defined_vars(). Объем памяти, занятый скриптом можно оценить при помощи memory_get_usage(). | |
|
|
|
|
|
|
|
для: cheops
(05.02.2012 в 14:23)
| | Я так понял это оно показывает размер выделенной оперативной памяти??
просто у меня скрипт на 2 строчки а функция показала 300кб. | |
|
|
|
|
|
|
|
для: demonow
(05.02.2012 в 14:24)
| | >Я так понял это оно показывает размер выделенной оперативной памяти??
>просто у меня скрипт на 2 строчки а функция показала 300кб.
Так ведь все эти предопределенные массивы, константы, классы должны же где-то размещаться... он еще только показывает то, что в пространстве скрипта, там еще наверняка один-два мегабайт того, что вы не видите... Интерпретатор - это дорогое удовольствие. 60-70% разработок на С/С++ они не от большой любви к указателям и ручному манипулированию памяти :))) Вы еще по считайте скорость выполнения операций на C и на PHP - там разница три порядка (1000 раз). | |
|
|
|
|
|
|
|
для: cheops
(05.02.2012 в 14:53)
| | Ясненько, тоесть обращаясь к константе и другим вкусностям, мы ее вызываем в файл со скриптом а она уже где-то там прописана в интерпретаторе.
А где ж тогда прописаны эти константы в каком-то файле наверно? | |
|
|
|
|
|
|
|
для: demonow
(05.02.2012 в 15:04)
| | Не много не так... вы когда только вызываете PHP-скрипт, для него создаются все эти предопределенные массивы ($_SERVER, $_COOKIE, $_GET, $_POST), классы, предопределенные константы PHP и его расширений. Создалось все, развернулось, заняло памяти и только после этого PHP "смотрит" что там у вас в скрипте, две ли строки вам нужно вывести или выполнить сложный многочасовой скрипт...
Собственно это во всех языках так, даже создавая программу на C, там до запуска вашего кода тоже много чего происходит, только ваш код заранее переводится в инструкции процессору, поэтому когда до него дело доходит это небольшой или большой довесок к существующему exe-коду. А тут интерпретатор, он построчно выполняет инструкции (и свои и ваши). | |
|
|
|
|
|
|
|
для: cheops
(05.02.2012 в 15:23)
| | О, теперь все понятно.просто хочу более углубится как там все происходит на машинном уровне.Спасибо ценные данные. | |
|
|
|