Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:75767 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 83137 invoked from network); 21 Jul 2014 10:25:13 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Jul 2014 10:25:13 -0000 Authentication-Results: pb1.pair.com smtp.mail=julienpauli@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=julienpauli@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.177 as permitted sender) X-PHP-List-Original-Sender: julienpauli@gmail.com X-Host-Fingerprint: 209.85.220.177 mail-vc0-f177.google.com Received: from [209.85.220.177] ([209.85.220.177:35324] helo=mail-vc0-f177.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C1/C6-51736-88AECC35 for ; Mon, 21 Jul 2014 06:25:13 -0400 Received: by mail-vc0-f177.google.com with SMTP id hy4so11787123vcb.36 for ; Mon, 21 Jul 2014 03:25:10 -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; bh=9YbIEudc57ynlj5gjfHDcxKc516xB2Cc3cg3m/QZuzk=; b=UTqbDKNBXghTNkyeYTh5g/dyBB790D7QZurKvcapUVecO4//SyHaxVicgvH1nuYkPx 1SC0FGm/dJxG4hkRFulVGybmiKi7GRFRmFaWDkCK8XKA3muZiF4trinpuSeTUoBh/bU3 CxmatCuekMFObENlHtdPE2AQF++xnw41V3KXM5OgDQrtwlGVNKwx1rTENYFjQ+eBsz2c tux6uu+mrBylDBzX23R0c0OtR/l33PSYt9SJgx4ELb47JIUL3eH7rQsaah25LlMNww3Y q/56aXmMlyHArW1VZDM7bwCd4A3w/efZN/feay2STT73yWKWfGxLCEaBtQOZvF8LXLRT pP0g== X-Received: by 10.52.12.229 with SMTP id b5mr13168186vdc.52.1405938310541; Mon, 21 Jul 2014 03:25:10 -0700 (PDT) MIME-Version: 1.0 Sender: julienpauli@gmail.com Received: by 10.220.81.68 with HTTP; Mon, 21 Jul 2014 03:24:30 -0700 (PDT) In-Reply-To: References: Date: Mon, 21 Jul 2014 12:24:30 +0200 X-Google-Sender-Auth: b9hM64ePd3Sa7xyAUseL6KDkDI8 Message-ID: To: Dmitry Stogov Cc: Pierre Joye , Zeev Suraski , PHP internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] RFC: Move phpng to master From: jpauli@php.net (Julien Pauli) 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. > >> >> 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 Julien