Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103969 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 28963 invoked from network); 1 Feb 2019 12:15:42 -0000 Received: from unknown (HELO mail-wm1-f48.google.com) (209.85.128.48) by pb1.pair.com with SMTP; 1 Feb 2019 12:15:42 -0000 Received: by mail-wm1-f48.google.com with SMTP id a62so5205437wmh.4 for ; Fri, 01 Feb 2019 00:55:47 -0800 (PST) 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=XQNthDSpem1F1Na2/3+kzYPC+CuuAdkY5AhpQUBbwm0=; b=Xpw5jbddbgfYjKWwCahjybDk7WLXwLXR7PW5Bw63L84qMeMAQcf9qiCU/mJR7ToDOQ 36t6JBjDRM3SLtclHM+KXOVjGn/tFPl+iXJn7BrwDC/63s3YKR63rPW6MnCmRNrAZnN7 o3W2TDVBGz2VpUxs8PbTBSCwSyOvTv3ocuAmK6DIvJD+3OsQiNT+pXKT39WSwFktzjGt V695OnRpQhGxw1Ox1+YWs/DL6nEu61CzUgdnBIPX4vOH9mrrhxaJ4rRKr4bicbv2GR0W qoa/SdPFOYuRGETYxSQgIMqTXu4oJcB0IA1wOlrUe3OAbW4dZDgIiIFLAvvQlmuyL/pf m6UA== 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=XQNthDSpem1F1Na2/3+kzYPC+CuuAdkY5AhpQUBbwm0=; b=VNzrRQIbl7pghd1h/+PUS1SkAJaK/uWU3ZTstXoenuNJn2NgRQMc2MkjiVf50qw6qP h0cutE+lpHKOktScosHG7++d4SdmZqTB6I9g1scKkdIa5VvDMQ15QXScWyIuFsiejqMV Xk1rB+vZutUYAipTS4dAFsENGHtM30phSpQurB0tzwk4m2CtCqlu2KBGNMTA/xsxKUfP pZKI4j+u7sBN0/hl+J4y0T2gG6mQnGn7EZq2KAzrlJfFHnCtvcic11st6L1arbzrBqEx yTic9Dpd+wX/0mF/CHG1oV4TKxDKKMYFlsMn4hH6KDpiqFETe6EGQx8IguuYxply6DIb dT+w== X-Gm-Message-State: AHQUAuZ/ldEpRykXIIkbyXnXgttzK3c8Z8e+xASy3CgCLNd2uRUPckiZ f+uQLkbTghI4Ne/U+h08DbQUycOfO6UxYUMTrLCSXQSvF0o= X-Google-Smtp-Source: AHgI3IZrJuGSLgm9fICcl/p/jxNIottp113Rt4NED3pD5LsxgXp6TUsGYarSJ0IEQfjkEUt1yW5JtSG1YAWeow1fsDs= X-Received: by 2002:a1c:f916:: with SMTP id x22mr1475994wmh.87.1549011346583; Fri, 01 Feb 2019 00:55:46 -0800 (PST) MIME-Version: 1.0 References: <2321148.uWQDsfDpJu@vulcan> <4df2d7cf-31dc-a9cf-eefe-d92bad199312@zend.com> In-Reply-To: <4df2d7cf-31dc-a9cf-eefe-d92bad199312@zend.com> Date: Fri, 1 Feb 2019 09:55:35 +0100 Message-ID: To: Dmitry Stogov Cc: Larry Garfield , "internals@lists.php.net" Content-Type: multipart/alternative; boundary="00000000000010f49c0580d14f8e" Subject: Re: [PHP-DEV] [RFC] JIT From: krakjoe@gmail.com (Joe Watkins) --00000000000010f49c0580d14f8e Content-Type: text/plain; charset="UTF-8" Morning Dmitry, and internals, This is marvellous stuff, truly brilliant. I particularly appreciate the non-intrusive approach of setting jit'd code as the opcode handler, this makes life a little easier for hacky extension authors, I think. As others have said: I don't like the idea of omitting to support windows, less worried about fancy architectures. I'm not keen on the idea that there is no way to debug the code this generates outside of GDB, and I'm not sure how useful gdb will be: I've tried to debug JIT'd code in that before and it doesn't do so well, but I could easily have been doing it wrong. I'd be very happy to be corrected about this ? I'm not keen on the idea of merging this into 7.4, for various reasons that don't need to be repeated. Bottom line though, I love it, it's brilliant, and look forward to PHP 8. Thank you, Dmitry. Cheers Joe On Fri, 1 Feb 2019 at 09:41, Dmitry Stogov wrote: > > > On 2/1/19 3:29 AM, Larry Garfield wrote: > > On Thursday, January 31, 2019 12:30:52 PM CST Chase Peeler wrote: > >> On Thu, Jan 31, 2019 at 12:04 PM Zeev Suraski wrote: > >>> On Thu, Jan 31, 2019 at 6:47 PM Kalle Sommer Nielsen > >>> > >>> wrote: > >>>> Without my usual Windows bias, I do believe it is a considerable fact > >>>> like Nikita pointed out as Windows is a first class citizen in terms > >>>> of operating systems we support. While PHP on Windows may not have the > >>>> speed that the Unix counterpart have, it is still a very important > >>>> development platform. Many developers develop on Windows and deploy on > >>>> a Unix based system, being unable to test such an important feature in > >>>> a development environment is also a large question mark. > >>> > >>> As long as we can agree that very few actually *deploy *on Windows, I > >>> think > >>> we're on solid grounds. > >>> As the JIT implementation is likely to have at least *some* significant > >>> differences compared to Linux, I'm not sure what testing it on Windows > >>> would give you. JIT is supposed to be entirely transparent, and the > >>> performance characteristics - as well as the bug patterns - are likely > to > >>> be quite different on Linux vs. Windows, at least in many cases. > >>> Is it really that important to have? > >>> > >>> I'm honestly a bit perplexed by how many people here viewing Windows > >>> support as a must have, while at the same time I think we all agree > PHP is > >>> very scarcely found on production Windows servers, and JIT is a > >>> predominantly production feature. > >>> > >>> I'm personally interested in taking a look at it (and I'm certain > >>> > >>>> Anatol does too), but simply dismissing is a no-go for me. > >>> > >>> It'd be interesting to evaluate the cost associated with supporting > >>> Windows. Bare in mind, we're proposing to vote on this as a production > >>> feature for PHP 8 - which realistically means almost two years from now > >>> *at > >>> the earliest*. I'm sure we'd have Windows support a lot sooner than > that > >>> if we decide that it's a must have. I agree with Nikita that the key > >>> question is in fact, do we or do we not want to introduce JIT in - with > >>> the > >>> main question being the maintenance cost. Let's tackle this question > >>> first, otherwise - why send Dmitry (and maybe others) for doing more > work > >>> (Windows support) if we are likely to flush it all down the toilet? > >>> > >> Maybe we're the only ones, but we run production PHP on Windows. I have > no > >> issues with the idea of not initially having support for Windows. I can > >> probably even live with never having support for Windows - provided > that we > >> don't find ourselves in a situation like Nikita mentioned where features > >> start getting developed in PHP instead of C and require JIT in order to > >> function. > > > > Question from a non-compiler-engineer: Could we end up in a situation > where > > future language features (in 8.3 or something) are only performant on > JIT- > > enabled platforms? I know there were some RFCs rejected in the past on > the > > grounds that they involved too many runtime checks (and thus a > performance > > hit); if it were possible for a JIT to optimize some of those away, it > might > > make the cost acceptable. However, if a JIT only works on some systems > that > > might widen the gap between have- and have-not platforms. > > I think, JIT only approach doesn't make a lot of sense for PHP, with one > of the most fast VM. And this is a trend. Even V8, starting from JIT > only, switched back to VM+JIT. > > Thanks. Dmitry. > > > > > Is that a concern, or am I making things up? Or, is it a concern but > we're > > legit OK with that happening (which is also an entirely valid decision to > > make)? > > > > --Larry Garfield > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > --00000000000010f49c0580d14f8e--