Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:65175 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 80657 invoked from network); 25 Jan 2013 17:16:18 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Jan 2013 17:16:18 -0000 Authentication-Results: pb1.pair.com smtp.mail=rasmus@lerdorf.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=rasmus@lerdorf.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lerdorf.com from 209.85.220.179 cause and error) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 209.85.220.179 mail-vc0-f179.google.com Received: from [209.85.220.179] ([209.85.220.179:63209] helo=mail-vc0-f179.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4C/00-14132-0EDB2015 for ; Fri, 25 Jan 2013 12:16:17 -0500 Received: by mail-vc0-f179.google.com with SMTP id gb23so452453vcb.10 for ; Fri, 25 Jan 2013 09:16:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding:x-gm-message-state; bh=Qe214Ca4hpll038phQFvTA9V6Cq6sp9KHgOPu25S3KA=; b=VzaODrixNed+78hV2Jbv5ot7tknZhEa5OHgKRqIxQTJT8cFhf6XlyGXawZoHLMZ5Dm ZUxUO4R2k13TZEHXsDru/UrPAmVF61G7tGTXwIrieKKXepupS/hm8xUP0h9Pp+hm6PnE iBDLv/39rnYrW5tAF5CpQHEr06dHOSqNVu5F5D8+GYw6DgLyP3qS9VbfcM6GKNuD4E7/ tkfcXbKytvajv+Ju+rVjKC4/r5G0Zf7rUim8FZX7uvpwHNvriygFibA+toW8bCxbILc8 OZQxyybTuqOjOZ+cgzJj8JKmFAf788wcUJu7sEFVLX3590ECsP6NqTmmd36Y3xaMlCGV ooyA== X-Received: by 10.220.238.139 with SMTP id ks11mr6646237vcb.49.1359134174248; Fri, 25 Jan 2013 09:16:14 -0800 (PST) Received: from [192.168.200.148] (c-50-131-44-225.hsd1.ca.comcast.net. [50.131.44.225]) by mx.google.com with ESMTPS id dl18sm798835vdb.2.2013.01.25.09.16.12 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 25 Jan 2013 09:16:13 -0800 (PST) Message-ID: <5102BDDB.4070506@lerdorf.com> Date: Fri, 25 Jan 2013 09:16:11 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-Version: 1.0 To: Zeev Suraski CC: Ralf Lang , internals@lists.php.net References: <51023AB1.2010607@b1-systems.de> <51024016.4010005@lerdorf.com> In-Reply-To: X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQmTRr/ZPjRd82EaH0KFhM3jepTXCo5Z9vZloleEGKP2yvMXSS94ZOlOIk4A/bCnlAUA8tMc Subject: Re: [PHP-DEV] HEADS UP: Upcoming Feature Freeze for PHP 5.5.0 From: rasmus@lerdorf.com (Rasmus Lerdorf) On 01/25/2013 08:25 AM, Zeev Suraski wrote: > There's another option. We have the Optimizer+ component which is > current, a bit faster than APC, worked with PHP 5.4 from the get go and > already fully supports 5.5 - and now that it's been free for use for > several years, we'd actually be happy to opensource it and make it a part > of core. An extra benefit would be that we'd commit to maintain it, > although of course, community contribution will be very welcome. > Here too, it's code with a very long history, some of which even predates > PHP 4.0. But It Works(tm), and we could put some effort into cleaning it > up and beautifying it. > I think we can actually do it on time for 5.5.0, or with a relatively > minor delay that might be worth it. I'm sure most users would prefer the > version to take a bit longer if it comes with an opcode cache right off > the bat. > There'll most probably be APIs we'd want to merge from APC, but doing that > should be easy - and we can get the good of both worlds. I would be ok with that. The goal here is opcode cacheing in core. How we get there is less important. The one thing we can do bringing an old codebase into core is to clean it up quite a bit since we'd know the target version. All the ifdefs for older versions can go away, and some of the tricks that need to be done could be shuffled into the compiler/executor to streamline things. I am also not worried about userspace compatibility for things like apc_store/fetch. Any software written to make use of that already has conditional checks around it plus that feature needs a serious re-think anyway. Sharing a lock with op_array handling really doesn't scale. -Rasmus