Re: RETURN micro optimization
| From: | Dmitry Stogov | Date: | Tue, 05 Apr 2016 11:44:32 +0000 |
| Subject: | Re: RETURN micro optimization | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-92098@lists.php.net to get a copy of this message | ||
But somehow it broke one phpdbg test, so it's better to check.
Thanks. Dmitry.
On 04/05/2016 12:15 PM, Joe Watkins wrote:
Morning Derick,I don't think it does make anything impossible, it's just a more efficient copying method in the EXPECTED branch is all.Cheers Joe On Tue, Apr 5, 2016 at 10:04 AM, Derick Rethans <derick@php.net <mailto:derick@php.net>> wrote: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 instructionretired onWordpress). It breaks sapi/phpdbg/tests/breakpoints_005.phpt, but this isprobablynot 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