Bug #79353 [Opn]: bad optimizing "Null Coalescing Assignment"
Edit report at https://bugs.php.net/bug.php?id=79353&edit=1
ID: 79353
Updated by: nikic@php.net
Reported by: bugreports at gmail dot com
Summary: bad optimizing "Null Coalescing Assignment"
Status: Open
Type: Bug
Package: opcache
PHP Version: 7.4Git-2020-03-08 (Git)
-Assigned To:
+Assigned To: nikic
Block user comment: N
Private report: N
New Comment:
I think we mainly need to add pi node placement for coalesce.
Previous Comments:
------------------------------------------------------------------------
[2020-03-08 02:46:53] bugreports at gmail dot com
Description:
------------
with opcache other than "Null coalescing operator" the "Null Coalescing
Assignment" is not completly optimized out
function a()
{
$test = $test ?? TRUE;
return $test;
}
function b()
{
$test ??= TRUE;
return $test;
}
runtime difference with 50000000 calls:
a(): 3.1884
b(): 3.3666
function name: a
number of ops: 2
----------------------------------------------------------------------------------
5 0* COALESCE ~1 !0
6 1* RETURN <true>
function name: b
number of ops: 3
----------------------------------------------------------------------------------
11 0* COALESCE ~1 !0
1* ASSIGN $2 !0, <true>
12 2* RETURN !0
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79353&edit=1
Thread (7 messages)