Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Список объявленных переменных и объем занимаемой ими памяти
 
 автор: demonow   (05.02.2012 в 14:00)   письмо автору
 
 

Народ,чисто из любопытства, при создании переменных им выделяются участок памяти, как посмотреть таблицу с созданными переменными и выделенной для них памяти.?

  Ответить  
 
 автор: cheops   (05.02.2012 в 14:23)   письмо автору
 
   для: demonow   (05.02.2012 в 14:00)
 

Для того, чтобы вывести список переменных, следует обратиться к функции get_defined_vars(). Объем памяти, занятый скриптом можно оценить при помощи memory_get_usage().

  Ответить  
 
 автор: demonow   (05.02.2012 в 14:24)   письмо автору
 
   для: cheops   (05.02.2012 в 14:23)
 

Я так понял это оно показывает размер выделенной оперативной памяти??
просто у меня скрипт на 2 строчки а функция показала 300кб.

  Ответить  
 
 автор: cheops   (05.02.2012 в 14:53)   письмо автору
 
   для: demonow   (05.02.2012 в 14:24)
 

>Я так понял это оно показывает размер выделенной оперативной памяти??
>просто у меня скрипт на 2 строчки а функция показала 300кб.
Так ведь все эти предопределенные массивы, константы, классы должны же где-то размещаться... он еще только показывает то, что в пространстве скрипта, там еще наверняка один-два мегабайт того, что вы не видите... Интерпретатор - это дорогое удовольствие. 60-70% разработок на С/С++ они не от большой любви к указателям и ручному манипулированию памяти :))) Вы еще по считайте скорость выполнения операций на C и на PHP - там разница три порядка (1000 раз).

  Ответить  
 
 автор: demonow   (05.02.2012 в 15:04)   письмо автору
 
   для: cheops   (05.02.2012 в 14:53)
 

Ясненько, тоесть обращаясь к константе и другим вкусностям, мы ее вызываем в файл со скриптом а она уже где-то там прописана в интерпретаторе.
А где ж тогда прописаны эти константы в каком-то файле наверно?

  Ответить  
 
 автор: cheops   (05.02.2012 в 15:23)   письмо автору
 
   для: demonow   (05.02.2012 в 15:04)
 

Не много не так... вы когда только вызываете PHP-скрипт, для него создаются все эти предопределенные массивы ($_SERVER, $_COOKIE, $_GET, $_POST), классы, предопределенные константы PHP и его расширений. Создалось все, развернулось, заняло памяти и только после этого PHP "смотрит" что там у вас в скрипте, две ли строки вам нужно вывести или выполнить сложный многочасовой скрипт...
Собственно это во всех языках так, даже создавая программу на C, там до запуска вашего кода тоже много чего происходит, только ваш код заранее переводится в инструкции процессору, поэтому когда до него дело доходит это небольшой или большой довесок к существующему exe-коду. А тут интерпретатор, он построчно выполняет инструкции (и свои и ваши).

  Ответить  
 
 автор: demonow   (05.02.2012 в 15:29)   письмо автору
 
   для: cheops   (05.02.2012 в 15:23)
 

О, теперь все понятно.просто хочу более углубится как там все происходит на машинном уровне.Спасибо ценные данные.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования