- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, уважаемые форумчане.
Растолкуйте, пожалуйста, следующее явление.
Почему так происходит? Пхп же создает объект $xml который занимает память. Не пойму :no:
Так он мгновенно его считывает и выплёвывает или как вы хотели?! И вообще в чём вопрос то?
А если он его выплевывает, тогда как он с ним дальше работает?
А в чём именно вопрос?
xml-файл лишь в "человекочитабельном" виде весит 1.2 мб
А когда он в виде структуры в памяти, он вполне может весить меньше.
;8759236']А в чём именно вопрос?
Вобщем я делаю библиотеку фб2. Решил потестировать скрипты на быстродействие, использование памяти и т.д. И вот тут наткнулся на сабж. Мне интересно как так выходит, когда пхп читает 1 мб файл а на использовании памяти скриптом это почти не заметно.
;8759236']
xml-файл лишь в "человекочитабельном" виде весит 1.2 мб
А когда он в виде структуры в памяти, он вполне может весить меньше.
Не думаю, что 1.2 мб "человекочитабельного" хмл помещается в 1 Кб.
З.Ы. Понимание этого мне нужно для оптимизации работы будущего сайта.
Попробуйте сделать xml-файл всего с одной текстовой строкой, длиной 1мб, а так же, выключить всякие акселераторы и пр.
И посмотрите, сколько будет кушать скрипт.
Чудес не бывает :)
[umka] добавил 02.04.2011 в 02:02
Попробуйте вызывать memory_get_usage(true);
Возможно, функция simplexml_load_file() возвращает только указатель и в силу каких-то особенностей, объём выделенной памяти не учитывается.
simplexml_load_file это по сути сторонняя к php либа.
память она имеет честь кушать совершенно по особому, поэтому
а) в мемори лимитах это не учитывается поэтому пхп функции для измерения бесполезны
б) расширение мемори-лимита не поможет если памяти будет не хватать
Поэтому для больших файлов лучше использовать потоковые либы.
p.s.: и хотя это не баг, тем не менее ответ взят отсюда http://bugs.php.net/45291 (последний абзац)
Во первых надо еще посмотреть память на пике при помощи memory_get_peak_usage - если весь скрипт состоит только из процитированного кода, то вполне возможно, что память могла быть освобождена, также вариант что парсится xml потоком, не загружая предварительно файл, а xml в виде дом заниммает в разы меньше места
Во первых надо еще посмотреть память на пике при помощи memory_get_peak_usage
На пиковое использование памяти я тоже смотрел. Оно отличается разве что на несколько байт.
В любом случае всем спасибо за объяснение. Немного прояснили ситуацию.
ali7 добавил 02.04.2011 в 11:40
p.s.: и хотя это не баг, тем не менее ответ взят отсюда http://bugs.php.net/45291 (последний абзац)
Вот теперь все стало ясно :) Спасибо большое!