Hello Andi,

Monday, June 30, 2003, 5:58:42 PM, you wrote:

AG> At 08:54 AM 30/6/2003 +0200, Marcus Börger wrote:
>>Hello Andi,
>>
>>Monday, June 30, 2003, 8:10:30 AM, you wrote:
>>
>>AG> At 07:43 AM 30/6/2003 +0200, Andi Gutmans wrote:
>> >>Hey,
>> >>
>> >>In my opinion beta 1 should be labeled as a beta. The fact that we are
>> >>fixing a few features doesn't mean it's alpha. I know what the definition
>> >>of alpha is but in real life most beta's do end up having quite a few code
>> >>changes before release.
>> >>I agree that we should try and feature freeze as much as possible right
>> >>now. I'd like to see PHP 5 out before the 6-9 month period Sterling
>> >>mentioned. I think we can probably do it within about 4 months if we don't
>> >>mess with the code too much and listen to the feedback of people who are
>> >>starting to play around with it.
>> >>
>> >>In my opinion, half the stuff listed by Marcus should wait for PHP 5.1
>> >>(which can be released very quickly after PHP 5):
>> >>- Include SPL (forach/array hooking) (although we can discuss it and
>> >>re-evaluate this once we finalize what we want).
>>
>>AG> After Sterling reminded me that I did say that this should be considered
>>AG> for PHP 5 I'll clarify what I meant. What I meant by re-evaluating is 
>>that
>>AG> if everything falls in properly we should re-evaluate the patch before 
>>PHP 5.
>>AG> Let's see another iteration of the spec with pretty names and then decide
>>AG> :) Also, how are the benchmarks? What is slowed down and by how much? (it
>>AG> might very well be worth it but I'd like to know more or less). Last but
>>AG> not least, are there any things which won't work with this such as 
>>foreach
>>AG> with references and other problems?
>>
>>According to foreach hooking
>>a) I couldn't make out any problem that isn't fixed right now
>>b) When included into the engine the differences are
>>    3 additional comparisons in FE_RESET (2 pointers, 1 integer)
>>    1 additional check in FE_FETCH (integer)
>>    2 additional checks and a complex fetch in (SWITCH_FREE)
>>    -> that should be near to zero impact.
>>    In the early stages when it wasn't that optimized it was already near
>>    unmeasurable.
>>c) IT makes no sense letting me do more work in here. I really can't see what
>>    i can do more. Of the new oo things it is right now one of the best
>>    documented and tested. So others have to test and report :-)
>>
>>Array hooking is somewhat different. The impact is higher and it isn't
>>really optimized right now. That's why i made it optional. The question here
>>is whether we want it or not. But again being integrated in the engine the
>>overhead can be reduced to a level described in foreach hooking.

AG> Can you please post a patch for the foreach() stuff (i.e. collection and 
AG> iterator)?
AG> I don't exactly remember what you mean by array hooking. Is that what 
AG> Andrei wants or does it also include a user-land interface to overload?

Please look into spl. You can check it out spl (cvs co spl) into your
extension directory and recompile with --enable-spl --enable-spl-hook-all.
Then run the tests or play with the examples. Then you'll see. Documentation
and profiling results can be found in the readme files.

Best regards,
 Marcus                            mailto:[EMAIL PROTECTED]


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

Reply via email to