Re: Ability to lower PHP memory usage
| From: | Ilia Alshanetsky | Date: | Thu, 08 Jan 2004 17:12:24 +0000 |
| Subject: | Re: Ability to lower PHP memory usage | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-6856@lists.php.net to get a copy of this message | ||
On January 08, 2004 12:02 pm, Andi Gutmans wrote:
> You are all missing the point. All the ext/standard would still be enabled
> by default, but it would allow people with very high traffic sites who need
> to save every bit of memory they can to build a lean-and-mean version of
> PHP. These kinds of users are looking for optimizing PHP for their
> application and do it with a sane mind.
There is a cost vs benefit here how much do you expect save? Suppose we save
100k by moving some code from ext/standard/ with even as many as 200
processes running you'll still only save about 19 megs. Even that may be hard
to do, since A LOT of code will need to be 'moved off' from ext/standard/ to
save those 100k (after stripping). Given current memory prices 19 megs is
about ($2-$3 USD).
On a related note, how do we determine which functions are 'safe' to move and
which ones are not. I may not use 1/2 of the array_* functions we have, but
someone else may use them and not use metaphone() which I use. What is the
criteria by which we determine what goes out and what stays in?
> I don't even mind if --disable-all doesn't disable ext/standard but it'd be
> nice that if we do a split to core/ and standard/ (I wouldn't go into more
> granularity than that) that we could have a --disable-standard.
> It wouldn't hurt anyone and it *is* a pressing problem from talks I've had
> with all sorts of ppl that have high traffic machines.
I suspect the memory usage is due to other things like forgetting to strip
binaries & libraries, inefficient scripts and PHP enabled web servers being
used to serve static requests.
> No one answered me about regex btw. Is it only being compiled because of
> the regex functions in ext/standard or does anyone know if other places in
> PHP's source tree use it.
browscap code uses regular regex. mbstring does not use regex, but it's regex
syntax is compatible to that of ereg_* and not pcre.
Ilia