Re: [RFC] Turn gc_collect_cycles into a function pointer
| From: | Ferenc Kovacs | Date: | Thu, 04 Dec 2014 11:39:39 +0000 |
| Subject: | Re: [RFC] Turn gc_collect_cycles into a function pointer | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-79422@lists.php.net to get a copy of this message | ||
On Thu, Dec 4, 2014 at 11:53 AM, Julien Pauli <jpauli@php.net> wrote:
> On Thu, Dec 4, 2014 at 9:30 AM, Benjamin Eberlei <kontakt@beberlei.de>
> wrote:
> > Good morning,
> >
> > This is just a very small change, I propose this RFC for discussion to
> turn
> > the C function "gc_collect_cycles" into a pointer.
> >
> > https://wiki.php.net/rfc/gc_fn_pointer
> >
> > Composer's garbage collection optimization showed that PHP Profilers fail
> > to capture the dynamics of GC and we need better hooks to make this
> > possible.
>
> There are many other things that could be turned into function
> pointers to allow extensions to hook.
> Our hook strategy should be reviewed entirely.
>
> Not only GC. If you look at streams, many of them are not
> overwritable, and some are, but they are missing from the headers file
> so you may not overwrite them.
>
> I suggest we design a wider RFC for PHP7 about what we would be able
> to hook, and what not (and what is the impact, because the more you
> hook , the more complex it becomes about bad interactions).
>
> This may also include a refactoring in the zend_module_entry and the
> zend_extension structs. Fe, zend_extension hooks about the op_array
> could be reworked , I find the op_array_dtor_handler hook misplaced in
> the chain.
> zend_module_entry could also benefit from refactoring to have a better
> knowing of other extensions, and a true dependency manager.
>
>
That sounds like a lot of work.
+1 if somebody willing to champion that effort, but I wouldn't
delay/discard this small improvement on the vague promise that maybe this
will be solved as part of a bigger rfc.
just my 2 cents ofc.
--
Ferenc Kovács
@Tyr43l - http://tyrael.hu