Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:75745 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 48122 invoked from network); 21 Jul 2014 08:21:34 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Jul 2014 08:21:34 -0000 Authentication-Results: pb1.pair.com header.from=julienpauli@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=julienpauli@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.171 as permitted sender) X-PHP-List-Original-Sender: julienpauli@gmail.com X-Host-Fingerprint: 209.85.220.171 mail-vc0-f171.google.com Received: from [209.85.220.171] ([209.85.220.171:44212] helo=mail-vc0-f171.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E6/9F-48607-E8DCCC35 for ; Mon, 21 Jul 2014 04:21:34 -0400 Received: by mail-vc0-f171.google.com with SMTP id hq11so10009188vcb.30 for ; Mon, 21 Jul 2014 01:21:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:content-transfer-encoding; bh=9gBx+dTsZM7zu2thzc6Dd8gnvbkS4Ud9Gn04b4RAQ3E=; b=PcJPaWYydsCprMNUdI7X8zp1+hHEAF+uyxqvx0HskYUriU+5Ov1wzPEsRh904uy290 +wKFr8ZIHZXtOOlRlZlp+ANy5Fjavx1kOWr47Kry+FPdhfSa/SiiB1u+IALr92UfNPgB XGSzMUXoW19xIcElnZnyWz+wl0Jp1fXgDOBJRud/5nuyybnni9esFS0Q7nS/sFD4y2rx YhLB+9o/sxNSnS8ClCWYQmPU/4hN82TPjg4rutRoG/lH8K1xJFhPXIHlga90b1+vE23A ETNMT1JHF4FqZuqYE8gLqIgmmxJaYZo1p/On7TNONInO8NB3Jv2pLwzAouVQGBAaCeke x7Dw== X-Received: by 10.52.138.7 with SMTP id qm7mr23107838vdb.7.1405930891613; Mon, 21 Jul 2014 01:21:31 -0700 (PDT) MIME-Version: 1.0 Sender: julienpauli@gmail.com Received: by 10.220.81.68 with HTTP; Mon, 21 Jul 2014 01:20:51 -0700 (PDT) In-Reply-To: References: Date: Mon, 21 Jul 2014 10:20:51 +0200 X-Google-Sender-Auth: c2nOBh2o9Fo6a0PBelUxmK4Mh5E Message-ID: To: Pierre Joye Cc: Zeev Suraski , PHP internals Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] RFC: Move phpng to master From: jpauli@php.net (Julien Pauli) On Mon, Jul 21, 2014 at 9:52 AM, Pierre Joye wrote: > hi Zeev, > > On Mon, Jul 21, 2014 at 9:31 AM, Zeev Suraski wrote: >> All, >> >> >> >> As we=E2=80=99re getting closer to release 5.6.0, and given the very hig= h level of >> interest in phpng, I think it=E2=80=99s time for us to provide some clar= ity >> regarding what happens post 5.6.0. >> >> >> >> Dmitry and I wrote an RFC proposing that we merge phpng into master and >> turn it into the basis of the next major version of PHP (name TBD). >> >> >> >> The RFC is available at https://wiki.php.net/rfc/phpng >> >> >> >> Some supporting links available down below. >> >> >> >> Comments welcome! > > Quoting Dmitry's mail from last week "phpng is an experimental > branch", as such, I see no appealing reasons to replace master with > phpng and use phpng as base for the next major version. I am not > really surprised by this request, despite contradictory comments about > this exact point in the past few weeks. > > Despite the excellent performance improvements, it is by far not ready > to be used as base for the next major release, the release we will > have to maintain for the next decade. There is almost no > documentation, the APIs are not clean or inconsistent (just came back > home, will provide details later) but having two separate zpp, same > area's functions mixing use of zend_char and char (creating hard to > catch bugs, not always catch-able at compile time f.e.), no (known) > plan about when the experiments will stop and when or how deep the > cleanup will be done. > > In other words, I cannot agree to replace master with phpng, not with > its current state and it is definitively not what I could imagine as a > base for php-next. A roadmap, undocumented and plan-less development > (sorry, but stacking up a couple of % performance improvement has > little to nothing to do with designing php-next) is the best way to > fail to have what many of our users and developers could expect for > php-next. > > Cheers, > -- > Pierre Hi I can only agree here. I'd like a clean API. We need to consider PHP-Next jump as an opportunity t= o 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 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 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. I just cant believe we won't rework our API , fully and deeply, for PHP-Nex= t. Julien