On Tue, 5 Apr 2016, Dmitry Stogov wrote:

> I propose a micro optimization for RETURN statement.
> 
> Currently "return $x" increments reference counter of $x, then in 
> zend_leave_helper() we perform zval_ptr_dtor() on the same $x.
> 
> The patch sets the original value of $x to null in first place, so 
> zval_ptr_dtor() is not going to be called.
> 
> https://gist.github.com/dstogov/36f68b206242a39691ac539c2fc85d40
> 
> the performance impact is invisible (0.1% less instruction retired on 
> Wordpress).
> 
> It breaks sapi/phpdbg/tests/breakpoints_005.phpt, but this is probably 
> not a big deal.
> 
> BTW: this change may affect debuggers in some other way.

I'd like to know why this breaks before saying something. It'd be a PITA 
if this micro optimisation wouldn't actually do a lot performance wise, 
but makes some debugging not possible.

cheers,
Derick

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

Reply via email to