Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:75777 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 98581 invoked from network); 21 Jul 2014 10:50:30 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Jul 2014 10:50:30 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 209.85.220.179 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.220.179 mail-vc0-f179.google.com Received: from [209.85.220.179] ([209.85.220.179:56341] helo=mail-vc0-f179.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id EC/4A-51736-470FCC35 for ; Mon, 21 Jul 2014 06:50:29 -0400 Received: by mail-vc0-f179.google.com with SMTP id hq11so10319680vcb.10 for ; Mon, 21 Jul 2014 03:50:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=HjCIGerHgaCLPv4txmhSe+cm2foQxnr43mlXEAqG1ts=; b=Og2UoFDHFr9jSQelJBpwCtsjp0jnmZoZrpHsBQVWjoYIJK86EfiltF0VCfvOQ3abxp Bh3sM61PZ4jz6Fzl2n+fAQIUJLb/G2IknbH1DdvS4NLQI3I7MAbVJqIIDS1A3czAtLcO oNUsUJq+SvFkA00C17XogaOyrlsUBy6aaAMMeo6yuBNPJbyyY3kqUGuRQBy2zQlCVbdO nR9ulQi7kBgJ5LSDY0PPhzENtvkSiie+3sXEMccQphYMidS2pAAyi4X96KomZt6t9nfP 1Zk4NiO7PDgmzr9a+SoVkbyrgQ/q0kyI/XYTK7I3aYYktCyPfFCl4PUdNo7CEBpGyaNm cPwQ== X-Gm-Message-State: ALoCoQkpNjHn74t2Lp3t+a6XYHGJGeBv16w7AREA+zq4426xFKqRHZClEoxG4wnIUceZlbonlSTPP8zyKtEX2jZKXwIM/B8fvOKSSJyzUcjJ67proS39ZShE7twm7nFQk5xC+yfb22QC MIME-Version: 1.0 X-Received: by 10.221.44.69 with SMTP id uf5mr16105651vcb.4.1405939825879; Mon, 21 Jul 2014 03:50:25 -0700 (PDT) Received: by 10.52.110.170 with HTTP; Mon, 21 Jul 2014 03:50:25 -0700 (PDT) In-Reply-To: References: Date: Mon, 21 Jul 2014 14:50:25 +0400 Message-ID: To: Julien Pauli Cc: Pierre Joye , Zeev Suraski , PHP internals Content-Type: multipart/alternative; boundary=001a11339e88e5cc5a04feb1df9b Subject: Re: [PHP-DEV] RFC: Move phpng to master From: dmitry@zend.com (Dmitry Stogov) --001a11339e88e5cc5a04feb1df9b Content-Type: text/plain; charset=UTF-8 On Mon, Jul 21, 2014 at 2:24 PM, Julien Pauli wrote: > On Mon, Jul 21, 2014 at 11:27 AM, Dmitry Stogov 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 > --001a11339e88e5cc5a04feb1df9b--