Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102438 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 30316 invoked from network); 25 Jun 2018 19:12:36 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Jun 2018 19:12:36 -0000 Authentication-Results: pb1.pair.com header.from=vsuraski@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=vsuraski@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.173 as permitted sender) X-PHP-List-Original-Sender: vsuraski@gmail.com X-Host-Fingerprint: 209.85.220.173 mail-qk0-f173.google.com Received: from [209.85.220.173] ([209.85.220.173:36127] helo=mail-qk0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AE/AC-50433-4AE313B5 for ; Mon, 25 Jun 2018 15:12:36 -0400 Received: by mail-qk0-f173.google.com with SMTP id a132-v6so1203905qkg.3 for ; Mon, 25 Jun 2018 12:12:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DhSrBmo+geJCQjNeWEdwcm277YcBkYNIaPURtrz7JbU=; b=PFRs/B2hF855heSmWEIB9IujLeaA1D6LfC01S8xiNDBtogeqwWWsH/blIna+sZE01O x/Cx5vvVL03pt/6hqE5EpM+Q82BPuOoLOeWwr0b+F2KiRbH1YKk+vwJxFGorH0TA3Zf+ UjRUPlRLwTSb+U9uU9DxFsi7CswBnnEncnmgqhq/eLuw3hueK6uZxSqxX09a/6Q9NWwx kxm13apjz383D2IL6/6XsVecEbzpvLDRmVnxmO6H6EqjcvGPB6aBWL+ZzNCOdC0nYGSN MMt47Ji+eiUW13pU2rwQpWihEoxUu1/2LJN5ImyQRHbX2a9VPusQwoUwlnhSXCcoi58Q ywDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DhSrBmo+geJCQjNeWEdwcm277YcBkYNIaPURtrz7JbU=; b=JIZb6W75k7g/QEsBo/qflVaX2J3tORqTXQDxq4eW16ltwQlKPy1OlbUP//2k+kELGb ie3SBCR9nSmDYu0Fn6FP7TP1EMnRgPMRFRYypC56hQqSAXGp3eAVw6EG4m3hf9fS4C9A JRb6gSKE8KocgCZ32MiBTBSIad8J9Z9caXQIRm39IGlLXDYB8IomlILI4IG1Ra8mjil4 Sf/coa8h5lZUbAkdDbXN+BzOvKU9xn51Nzfzq3lvHFsXcNkInEVP+y1QbJNNCzKlhYQi rdLvEIX2FnxwOsX/kxkcIGdYbxuPsvS8oEgsBHcO6aZYWI5RywKd6mxfQasfyc8kM4Zs 2T9A== X-Gm-Message-State: APt69E24KdgLQiBKovH1PfdQ+NWqWLGil/Nxd5MlNEMP0dk7V1G4LS/H 6sarZUNb9BvFawDiSlOBya9bsFo/5WaePUF3MA2GHtHAEx8= X-Google-Smtp-Source: AAOMgpeCeyQvtr+fpdQIeY24N7WQ2HCDj5F/eIPkIzLrTG3+0acJU0UenM1ADoyDIRz2p2KHWqZuE0NcMgAIsbFstoc= X-Received: by 2002:a37:34cb:: with SMTP id b194-v6mr1737845qka.258.1529953953337; Mon, 25 Jun 2018 12:12:33 -0700 (PDT) MIME-Version: 1.0 References: <4719624.u8nS1KoLlB@vulcan> In-Reply-To: <4719624.u8nS1KoLlB@vulcan> Date: Mon, 25 Jun 2018 22:12:22 +0300 Message-ID: To: larry@garfieldtech.com Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="000000000000e970b7056f7c2935" Subject: Re: [PHP-DEV] PHP 2^3 From: vsuraski@gmail.com (Zeev Suraski) --000000000000e970b7056f7c2935 Content-Type: text/plain; charset="UTF-8" On Mon, Jun 25, 2018 at 8:52 PM Larry Garfield wrote: > On Monday, June 25, 2018 11:16:31 AM CDT Sara Golemon wrote: > > > > First, I'll admit that there's definitely some of that happening. But > to > > > paraphrase my daughters - "I didn't start it!". In other words - > people > > > are very actively looking for ways to run PHP in a Node-like manner, > and > > > with the shift towards micro-services - I don't think it's a fad. I > > > think we need to go there if we are to stay relevant. > > > > Fair point. I've certainly had discussions with Liz Smith and even > > been on Zend sponsored podcasts discussing ways we might "appify" PHP. > > But, and perhaps I'm just a bit more skeptical of the microservices > > train, I think we should be judicious in our pursuit of the new > > hotness. That's all. Most of my response was centered on what felt > > like a rush. Factoring in that entire paragraph about having a thin > > 7.4 release with a subsequent 8.0 GA alleviates my concerns a great > > deal. > > When we speak of "typical web loads" not getting much benefit here, are we > really talking about CGI-style "reboot every request" type loads rather > than > "IO-bound work"? Because it's been observed many times in the past that > one > of the most expensive parts of a modern PHP app is simply booting up, > initializing all of the services, wiring everything together... and then throwing it away 100 ms later. If a JIT would make it more viable to pre- > start a web process (there are various all-user-space implementations in > the > wild already) so that an incoming request already had a fully booted system > > with container initialized and stuff, that could have a huge impact on web > > loads, even without going all-in on Node-style async. > I thought I'd be given the benefit of doubt regarding having a clue about performance of PHP workloads... :) On point, the initialization cycle isn't radically different with JIT. Initializing the request is pretty similar, as is the stage of loading classes. The current JIT implementation doesn't bring substantial performance gains with most real world apps we tested - as they simply don't seem to spend too much in pure PHP logic (discounting the loading of classes). Of course - your mileage may vary, and it's not outside the realm of possibility that certain apps that are CPU-heavy in either their initilization or execution would benefit - perhaps even greatly - from JIT. It may also depend on the specific CPU and a lot of other factors. When people start testing it in the wild I guess we'll have a better view. What will definitely bring benefit to real world workloads is preloading, which (if we manage to do it) will dramatically reduce the per-request initialization stage. It could bring us much of the benefit of async-IO long running processes without sacrificing the isolation advantages of the traditional PHP execution model. It will likely also play nicely with JIT. But this is floors upon floors of speculation - we'll have to see... Question from the peanut gallery: why would 7.4 need to be a deprecation- > mostly release? Is the concern that it would make merging to the engine > changes in 8.0 harder? Certainly, but even without it - it's going to be hard enough to release 8 with its features within 2-2.5 years. It will be impossible to do it while spending most of that time working on other releases. I don't think people realize just how ambitious these bulletpoints are - to pull off in ~24 months (gross). It took us, IIRC, approximately 18 months from the point we published phpng and until PHP 7.0 was ready - as we focused exclusively on it. We're not in a very different stage with JIT right now, but we're throwing in several other radical improvements with far reaching implications - async and preloading (and that's before others pitched in their ideas). We have finite resources, and honestly, the resources we have that can work on these deliverables are very scarce. We need to choose are battles. Zeev --000000000000e970b7056f7c2935--