RETURN micro optimization
| From: | Dmitry Stogov | Date: | Tue, 05 Apr 2016 07:59:06 +0000 |
| Subject: | RETURN micro optimization | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-92087@lists.php.net to get a copy of this message | ||
Hi,
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.
Let me know, if you see any problems (I'll delay commit for 2-3 days).
Thanks. Dmitry.