Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:84036 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 40320 invoked from network); 27 Feb 2015 18:55:33 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Feb 2015 18:55:33 -0000 Authentication-Results: pb1.pair.com header.from=ircmaxell@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=ircmaxell@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.215.50 as permitted sender) X-PHP-List-Original-Sender: ircmaxell@gmail.com X-Host-Fingerprint: 209.85.215.50 mail-la0-f50.google.com Received: from [209.85.215.50] ([209.85.215.50:34080] helo=mail-la0-f50.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1C/AF-32582-2ADB0F45 for ; Fri, 27 Feb 2015 13:55:32 -0500 Received: by labhs14 with SMTP id hs14so19412307lab.1 for ; Fri, 27 Feb 2015 10:55:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=TYUKVkkkcJI9P8MiiHCecMzRmof8GYkc8Qj75043Il8=; b=CXvMRSd2sb3NbxrIo8QyU70CrPLtHvwgrHM+q37pt3arV1N7pUzL7WX6TFm3dm+bwn e9W2zZwAVPjxefNcj0YzD5Y9q4fHGTReIfjpfottBJQxSLqFRV2lCNtACPb8EiFKVuix BOpymkWpjmPiu1yWNSHJFXrt54XkbJKeeAuDkW5voion3DgqRYB4M/9XclxQoHJp5ra3 VicgxpSKWExY5flAPkGA/5MaQShHZAfWR2aLyRCZB7qfsotk2pvFVR8Jd1s4bOf18CQI x6F1lBiw+8pG90ZZh0u1/qfucsmdn64XCiwForcJlRxSKRRcy4ptWPZkLP7vTCUIbDkP Cpcg== MIME-Version: 1.0 X-Received: by 10.152.27.164 with SMTP id u4mr5141531lag.45.1425063327658; Fri, 27 Feb 2015 10:55:27 -0800 (PST) Received: by 10.25.43.9 with HTTP; Fri, 27 Feb 2015 10:55:27 -0800 (PST) In-Reply-To: <63262a9c0edd51bbf38df2a00c87340e@mail.gmail.com> References: <54F08FF3.3040404@seld.be> <63262a9c0edd51bbf38df2a00c87340e@mail.gmail.com> Date: Fri, 27 Feb 2015 13:55:27 -0500 Message-ID: To: Zeev Suraski Cc: Dmitry Stogov , Jordi Boggiano , PHP Internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] Re: Zend JIT Open Sourced From: ircmaxell@gmail.com (Anthony Ferrara) Zeev, >> 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). Well, I just want to make one clarification here to your point: there's no performance gains to this AOT approach for common web apps. It's not really fair to judge a true JIT implementation based on this because it lacks crucial runtime information that a real JIT compiler would have (such as input types, values, etc). So it would be left generating generic native code instead of specific code. I just want to point out that the results here aren't really applicable to a JIT approach. And that should be made clear when discussing it. That's not to say there's anything wrong with this approach, nor that there isn't a ton we can learn from it. I think it's a fantastic research effort and plan on digging through it myself. Thank you for open sourcing it. Anthony