Hi, Nikita and internals,

 ---- En lun, 11 may 2020 11:34:22 +0200 Nikita Popov <nikita....@gmail.com> 
escribió ----
 > On Fri, May 8, 2020 at 8:49 AM Manuel Canga <p...@manuelcanga.dev> wrote to 
 > this RFC, could someone give me(manuelcanga user ) karma in order to create 
 > wiki page ?.
 > 
 > I'm finding it hard to follow what is actually being proposed here at this 
 > point (as many different ideas seems to be discussed at the same time). I've 
 > granted you RFC karma on the wiki in case you want to write down something.
 > As other's have mentioned, this is not a simple topic from the 
 > implementation side, so it's good to have a firm idea of how things would 
 > work on a technical level. If you want to pursue the "inout" idea, I would 
 > recommend reading through https://externals.io/message/101254 in its 
 > entirety, because there is quite a bit of inout related discussion in there. 
 > My current assessment is that I do not see any way to implement inout in a 
 > way that both does not use references and has acceptable performance. 
 > (Implementing inout on top of references is possible, but has impact on its 
 > behavior, e.g. the fact that the reference will be initialized to null by 
 > default, even if the function throws.)
 > One of the core problems is that any naive approach to inout (i.e. literally 
 > implementing it as a read before the call and a write after the call) will 
 > necessitate a copy of the modified value, precluding rc=1 cow avoidance. 
 > Implementing array_push() as an inout operation would copy the array every 
 > time a value is pushed. Maybe this is actually a fundamental 
 > implementation-independent property of inout, if it has the semantics that 
 > the original value is not changed on exception (a copy would be necessary in 
 > case code later in the function throws.)


Thanks, Nikita. I will read that thread. 

I don't have know about PHP core so it's possible I will say a silly thing 
but... is possible using Hack implementation ?. Maybe They found the best way 
of implementation.

Regards

--
Manuel Canga

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

Reply via email to