Резкий скачек памяти при использовании SimpleXML

Сегодня отлавливал интерестный баг.

Парсил прайс от поставщика размером 6 Мегабайт. Процентов 50% парсилось нормально, а потом раз и скрипт требовал 90 Мегабайт памяти. Выглядело это примерно вот так:

...
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 6141.69Kb
memory usage: 90380.56Kb

Версия php на локальной машине:

PHP 5.3.2-1ubuntu4.2 with Suhosin-Patch (cli) (built: May 13 2010 20:01:00) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans
    with Suhosin v0.9.29, Copyright (c) 2007, by SektionEins GmbH

Начал разбираться в чем проблема. Создал тему на форуме zendframework.ru. В результате, вместе с Сашей Стешенком выяснили, что в php 5.3.3 этого бага уже нет и памяти при парсинге xml он ощутимо меньше кушает:

peak memory usage: 4652.38Kb

PS. Кстати в ядро php 5.3.3 наконец включен FPM!
PS2. Как собрать php 5.3.3 из исходников можно прочитать в статье “Install NginX and PHP 5.3.3 with PHP-FPM, MySQL and APC

Leave a Reply

Your email address will not be published. Required fields are marked *