Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:84033 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31757 invoked from network); 27 Feb 2015 17:39:37 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Feb 2015 17:39:37 -0000 Authentication-Results: pb1.pair.com header.from=zeev@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=zeev@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 74.125.82.177 as permitted sender) X-PHP-List-Original-Sender: zeev@zend.com X-Host-Fingerprint: 74.125.82.177 mail-we0-f177.google.com Received: from [74.125.82.177] ([74.125.82.177:33084] helo=mail-we0-f177.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 82/9E-32582-6DBA0F45 for ; Fri, 27 Feb 2015 12:39:36 -0500 Received: by wevk48 with SMTP id k48so21791386wev.0 for ; Fri, 27 Feb 2015 09:39:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:cc:content-type; bh=E5JcnBcvvfIp37sEfpiV9SwWN09qlVta/jX+jXfn9EI=; b=WpMC9jXtCLnl3LrlSqCPz9LcgROPCSIzZW0Q8LDwREIxtfzvJ6H190tDaBdFZ+sj+l +x2zEHDpNy4+QPltNadKDhPJW7As8RNDIyPRE+23FixbsOlT3Ag5o6IwUNqWFx5NlkBP AxKNzWYSFsECy9ZD/sTaC9CdSRzxSZ8c+OaygE7Urp7sSs9AY8woX1JtTw64b2xXjnng z1NYJ4rf2uuSDmN34qAJmcY4Ymy/34t25o3yQXUppdujOYKtf2GZcDtfJGhO7lehvHHr kSGGCE32Xak7vEaRULM7+2nqoZ/XtSQ7pj6NoSLbE7kEKZFTzkJcXVTBnVprwl4/F/F+ dQ9A== X-Gm-Message-State: ALoCoQkWGXoZYqJo8/fgDPb+HNc0+3J9DMZGK96iIL7ccd2ENsXFApK9URZQmiuw2Lur6+7Bk+2wAl4dyZ2BJSmsIZ0DRgn+4cO+MbxVV9gj79rEUoWrewDx8JpzYZ6bBPwVuTWEPuTU59/t9uQ/y9LdrqFjLXFC/w== X-Received: by 10.194.75.168 with SMTP id d8mr22198191wjw.87.1425058770602; Fri, 27 Feb 2015 09:39:30 -0800 (PST) References: <54F08FF3.3040404@seld.be> In-Reply-To: MIME-Version: 1.0 X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQKGyN3KgWG36vID82kvfjRJrrXIyAJK0qX5ATr4h/cC0qV80wNZyGBIAZYUbesBqsedZpswPPoA Date: Fri, 27 Feb 2015 19:39:29 +0200 Message-ID: <63262a9c0edd51bbf38df2a00c87340e@mail.gmail.com> To: Dmitry Stogov , Anthony Ferrara Cc: Jordi Boggiano , PHP Internals Content-Type: text/plain; charset=UTF-8 Subject: RE: [PHP-DEV] Re: Zend JIT Open Sourced From: zeev@zend.com (Zeev Suraski) > -----Original Message----- > From: Dmitry Stogov [mailto:dmitry@zend.com] > Sent: Friday, February 27, 2015 7:31 PM > To: Anthony Ferrara > Cc: Jordi Boggiano; PHP Internals > Subject: Re: [PHP-DEV] Re: Zend JIT Open Sourced > > On Fri, Feb 27, 2015 at 7:30 PM, Anthony Ferrara > wrote: > > > Dmitry, > > > > > > > It's not a single request cycle. JIT integrated into opcache, it > > > compiles php script(s) of first access and stores code in shared > > > memory. > > > On following requests precompiled code is executed directly from > > > shared memory. > > > > > > - The first request may be extremely slow (few minutes) > > > > That sounds more along the lines of AOT like I did with Recki rather > > than a true JIT (which compiles when a function is called). > > > > Judging from the jit_init() function, it appears like you're compiling > > the entire codebase ahead of time. > > > > Is that correct? > > > > Right now it compiles script (php file) at once. > So yes, our JIT uses some kind of AOT approach, but completely > transparently for the rest of PHP. Just to slightly further clarify - we don't compile the whole codebase at once, but we keep the existing semantics that every file is independent, may change independently of other files, and include() may end up load one file in one flow and another one in another flow. There's isn't any cross-file optimization. > We also tried few different approaches to collect formation about hot > functions and generate code only for them. > Unfortunately, this didn't change the picture. (again, the picture being no performance gains in common Web apps). Zeev