Hi all,

> -----Original Message-----
> From: news [mailto:[EMAIL PROTECTED] On Behalf Of Sebastian Bergmann
> Sent: Thursday, July 12, 2007 2:52 AM

>  As a first step, I think the code changes that convert direct accesses
>  to the reference counters to the proper macros should be merged. These
>  changes should be done in any case and it minimizes your patch and
> makes
>  it more readable.

I'll get on that. Should I create a patch for 5.2 only, or should one for
HEAD be created as well?

> -----Original Message-----
> From: Stanislav Malyshev [mailto:[EMAIL PROTECTED]
> Sent: Thursday, July 12, 2007 2:28 PM

> Indeed, memory usage reduction is very impressive - though I'm somewhat
> surprised so much memory is wasted, is this some special very circular
> case?

The Template test does indeed involve a lot of cycles, which is why it was
recommended to me as a good test case. However any program that generates a
large amount of objects that are self-referential can do the same thing.
See: http://bugs.php.net/bug.php?id=33595

> However, twofold speed reduction can be bad - but maybe it can be
> optimized.

Yes, that's very true. Although, anything that involves checking and freeing
over a gigabyte worth of objects is going to take a long time. I'll keep
working on it.

My current priority for optimization is reducing overhead for acyclic
programs. Three bytes are added to the zval struct with the current
implementation and that struct is copied around a lot. Most notably, this
causes an annoying 5% slow down in bench.php. I'm not certain what real
world impact this has, but data with the php.ini option zend.enable_gc set
to 0 would be very helpful.


David

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to