Reply to Re: Reducing memory consumption

Your name:

Reply:


Posted by Bruno Barberi Gnecco on 04/24/07 14:00

Jerry Stuckle wrote:
> Bruno Barberi Gnecco wrote:
>
>> I'm using PHP to run a CLI application. It's a script run by cron
>> that
>> parses some HTML files (with DOM XML), and I ended up using PHP to
>> integrate with
>> the rest of the code that already runs the website.
>>
>> The problem is: it's eating more memory than a black hole. It eats
>> the
>> current limit of 256MB set in php.ini, in an application that would
>> hardly
>> consume 4MB if written in C. I don't care if this application takes
>> much longer
>> to run than it would in C, but eating that much memory is not acceptable.
>>
>> So, my question is, how do I find out what is eating that much
>> memory?
>> I'm suspicious of memory leaks, or very stupid garbage collection. Any
>> help?
>>
>
> Without knowing what your application does, it's impossible to tell.
>
> But I know I've handled some very large files (i.e. log files, XML,
> etc.) in 8MB of memory without any problems.
>
> I've even parsed a (rather poorly written) html page that's > 10Mb and
> still not run out of memory at 8MB.

Exactly, that's why I'm puzzled by this. What the application
does is very simple: it opens an IMAP connection, and for each email,
it parses the HTML body to extract some information out of it, and
saves this information into a database. THe HTML files are less than
1MB, and number of messages read is small (< 20). Since the information
is parsed by pieces, the memory used by it should peak at 10kb or 20kb.

The parsing is done using DOM (not DOM XML, as I wrote before,
my mistake) and xpath queries. The parsing is done in a separate method,
so I was expecting that any memory allocated for parsing a message
would be freed before the next one is parsed. I'm using php 5.

What did you use to parse your page? DOM? DOM XML? Something
else?

Any tips? Thanks!

--
Bruno Barberi Gnecco <brunobg_at_users.sourceforge.net>
It takes a smart husband to have the last word and not use it.

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация