On Mon, Jul 21, 2014 at 2:24 PM, Julien Pauli <jpa...@php.net> wrote:

> On Mon, Jul 21, 2014 at 11:27 AM, Dmitry Stogov <dmi...@zend.com> wrote:
> > Hi Julien,
> >
> >>
> >> Hi
> >>
> >> I can only agree here.
> >>
> >> I'd like a clean API. We need to consider PHP-Next jump as an
> opportunity
> >> to
> >> clean our API and finally have something understandable for a
> >> newcomer, and documented. That's a move nobody dared to take in the
> >> last decade, degrading more and more our codebase in term of
> >> understandability and flexibility. This can't last
> >
> >
> > I'm more than agree about internal cleanup.
> > phpng benchmark results proved that we take the right direction and now
> we
> > implemented most the ideas we had.
> > Note that we tried not to change PHP behaviour in any way.
> > Now it's a good time to start the cleanup work.
>
> Not changing behavior is nice and very hard work to do, so congrats on
> that one.
>
> If cleaning the API receives "no-go" because the cleanups would
> involve swaping some parameters in functions, or turning macros to
> inline functions , which drops some little percentage in performance
> on some rare compilers, then there will be a problem to me.
>
> We need a trade-off here. We can't leave unreadable code in, should
> this code be written in a specific way for performances. We can afford
> a little 1% or 2 IMO.
>

1-2% is not a huge step back :)
but in case of few such steps we may discard a lot.


>
> >
> >>
> >> Old features and unused things should be cleaned up.
> >> Quickly caught, impacting the engine :
> >> - Resources are a hell, mixed with zend_lists etc... inconsitstent and
> >> absolutely PITA to develop with.
> >> - Streams need to be cleaned up and reworked to support full
> >> asynchronous IOs, which could involve threads, thus engine tied
> >> - Signals have been worked on starting with 5.4 (AFAIR), but never
> >> activated by default. I guess the actual implementation lacks a bit
> >> more reflection to be stable, and to finally propose signal managers
> >> into userland. ext/pcntl should be somehow merged to core, and this as
> >> well would involve engine work
> >> - TSRM need to find love, or to find a better replacement, which would
> >> involve a big engine work as well
> >> - ... and so on
> >
> >
> > Some of the topics above are really big... :)
> >
> >>
> >>
> >> Macro hell should be reworked as inlined functions, and I'd like we
> >> start supporting C99 as well.
> >>
> >> Performance is a userland point.
> >> API, doc, and clean things are developers points, and IMO, they are as
> >> important.
> >>
> >> What about merging OPCache to the branch ?
> >> This was talked about at PHP5.5 release, has never happened yet, and
> >> doesn't seem planed. This could have a big impact on the engine
> >> codebase.
> >
> >
> > What do you mean? isn't it already there.
> > I'm also going to remove opcache code for old PHP versions in php-next.
>
> I was talking about merging the code bases.
> For example, shared memory model from OPCache could be merged into
> Zend/ and expose an API one could reuse in extensions needing SHM.
> Also, accelerator's code could be merged into Zend/zend_execute and
> Zend/ZendVM
>

We thought about it many time, but didn't have time to do it.

Thanks. Dmitry.


>
> Julien
>

Reply via email to