Just for the record I've been spending quite a bit of time, trying to see how we can lower the amount of branches within our opcodes. Although one if() doesn't make a big difference on its own, the large number of branches we have do make a difference. So before you say it's just an integer comparison or 0.1%, there is actually much more to it. Also, the more branches we will have over time, the harder to optimize.

I wasn't against the deprecated feature but just stated that implementation wise, adding another branch should be thought about again. There are other ways of adding deprecated to functions, which would only slow down the deprecated functions and not all functions.

That said, as the abstract patch truly solves a problem, and adding the deprecated one on top of that isn't any slower, I don't mind the patch.

Marcus, as usual you send a patch for comment on the weekend, and commit before you give fair amount of time for review. Monday is a holiday here in the US, and generally speaking, giving 2-3 days is the right thing to do. I've asked you numerous time and I suggest you respect it in future (although I realize it was probably done on purpose).

Andi

At 02:57 AM 2/19/2006, Marcus Boerger wrote:
Hello internals,

  i just made up a tiny patch that allows us to deprecate functions. The
background is that in the past we changed to issue E_STRICT or E_NOTICE
for stuff we are going to change in later versions. This is right now not
easily possible when we change to replace a functions name. The usual way
to add the new name is to rename the function and add an alias with the old
name but for the deprecation message we would need to have the function
implementation twice so that one can issue the message. The patch now
allows us to specify a function flag on the alias.

I checked an early version of the patch with Andi and he didn't like the
introduction of another if(). For the explicit calling handler i see no
problem in adding it since it is just an integer comparision which makes
out less than 0.1% of the zend_call_function() for the function-call
opcode i hid the check behind the abstract check. So there is no new
penalty. And actually i think the abstract check is neccessary for the
the other part also. So the patch found an error and doesn't come with any
additional penalty at all.

Patch is available for both 5.1 and HEAD here:
http://php.net/~helly/php/ext/ze2/ze2-deprecated-20060219-5_1.diff.txt
http://php.net/~helly/php/ext/ze2/ze2-deprecated-20060219-HEAD.diff.txt

Anyone against?

Best regards,
 Marcus

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

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

Reply via email to