Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:65163 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 47184 invoked from network); 25 Jan 2013 12:15:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Jan 2013 12:15:40 -0000 Authentication-Results: pb1.pair.com smtp.mail=krebs.seb@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=krebs.seb@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.41 as permitted sender) X-PHP-List-Original-Sender: krebs.seb@gmail.com X-Host-Fingerprint: 74.125.82.41 mail-wg0-f41.google.com Received: from [74.125.82.41] ([74.125.82.41:42843] helo=mail-wg0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 06/14-03402-B6772015 for ; Fri, 25 Jan 2013 07:15:39 -0500 Received: by mail-wg0-f41.google.com with SMTP id ds1so1027814wgb.0 for ; Fri, 25 Jan 2013 04:15:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=P8H9HTL4hwnwHzCS8d7RcZkBi6RKRFZEaC0nptIJqF0=; b=wlMjM7Fguu91HjptI6OAEOHpQlECE3ug+TR2B7zCtM6aNWzK2VdzjYbYdMkFW7D7/a s5jrqYnPn/0Ajk3g/AVQwwBdf7UvDkIowiD1cz98leLboGXJyUXyNQ7rrueJYI+MP8eN yVbxsbkwanp3aHgtAUXpk52ofYuMYbzV0XNmW5eWILaaIStoodcjFK35c9I5/tSkV7Wb XASK0YYwZxT6MdYjPV+zUqMSJ6An4RRPRsOXpbikD8cvxmn4O40sR3o3AOk31+L0Vg92 xGkIv+1JSrK9397qVf1YAELZ0Byfsn49ihkzszAB3vcfJKbHXfjpjhsv1WJVgZdJmsbj 6xjg== MIME-Version: 1.0 X-Received: by 10.180.72.146 with SMTP id d18mr8361632wiv.33.1359116135887; Fri, 25 Jan 2013 04:15:35 -0800 (PST) Received: by 10.216.119.70 with HTTP; Fri, 25 Jan 2013 04:15:35 -0800 (PST) In-Reply-To: References: <51023AB1.2010607@b1-systems.de> <51024016.4010005@lerdorf.com> Date: Fri, 25 Jan 2013 13:15:35 +0100 Message-ID: To: Thomas Bley Cc: PHP internals list Content-Type: multipart/alternative; boundary=f46d043c7b987cf50b04d41be2cc Subject: Re: [PHP-DEV] HEADS UP: Upcoming Feature Freeze for PHP 5.5.0 From: krebs.seb@gmail.com (Sebastian Krebs) --f46d043c7b987cf50b04d41be2cc Content-Type: text/plain; charset=ISO-8859-1 2013/1/25 Thomas Bley > > One thing I can guarantee is that if we add it to core in its current > > condition it will delay 5.5 by 6+ months if not longer. > > I think it is fine if APC doesn't support all features of PHP. When > there is a clear documentation, everybody can decide if he skips some > features for better performance. Maybe this also offers room for more > optimizations. > You cannot simply decide, what features you want to use, when you rely on third-party-libraries from time to time. > > Regards, > Thomas > > > On Fri, Jan 25, 2013 at 9:19 AM, Rasmus Lerdorf > wrote: > > On 01/24/2013 11:56 PM, Ralf Lang wrote: > >>> From what I understood from Rasmus the biggest challenge with merging > APC > >>> into core is the fact that the compiler currently isn't built to > support > >>> opcode caching. One of the challenges he pointed out was some of the > >>> MAKE_NOP trickery that can make APC's work a bit more complex than > >>> necessary. It's possible to optimize the compiler enough to the point > that > >>> APC's code could be reduced down to very simple opcode caching, putting > >>> less stress on the engine and making it easier to maintain. > >> > >> I think there was some support for moving APC first from pecl to the PHP > >> standard distribution's ext folder before any tighter integration is > >> started. > > > > I'm really not convinced that by moving it to core we will magically get > > people to help with it. I have been trying to get people interested for > > years, and it hasn't gotten very far. Everyone wants it in the core, but > > with a couple of exceptions, nobody is willing to actually work on it to > > get it there. > > > > And I can understand the lack of help. It is probably the most > > complicated piece of the entire stack. It is a an op_array juggler doing > > a complex dance on a tight rope backwards and blindfolded. It is > > essentially multi-threaded in that there are multiple processes all > > reading and writing the same chunk of memory while dealing with a > > compiler that spits out context-sensitive op_arrays that were never > > designed to be cached and executed this way. > > > > So the learning curve is steep and the bugs are extremely hard to track > > down because it is the only PHP component that isn't a perfect sandbox. > > A slight memory corruption almost anywhere in any extension can segfault > > a dozen requests later with a backtrace that points to the opcode cache > > code. Not to mention web servers like Apache that longjmp() on us at the > > wrong time. Zend-signals addresses this, but even in 5.4 they aren't > > enabled by default because of stability issues and without those no > > shared memory opcode cache is safe. > > > > I firmly believe that we need opcode caching in core. I'm rather > > skeptical that simply moving pecl/apc to ext/apc is going to help users > > in any way. People have no trouble finding and installing APC today. The > > real issue here is robustness and lag time between a PHP release and and > > solid APC release and that has to do with resources which are scarce due > > to the code complexity. This is the real problem we need to solve. > > Either by a number of people stepping up to help with the existing APC > > code, or perhaps more realistically making it a priority in PHP 5.6 to > > streamline the engine and the executor for opcode caching and either > > including a heavily simplified version of APC or writing a new one. > > > > One thing I can guarantee is that if we add it to core in its current > > condition it will delay 5.5 by 6+ months if not longer. > > > > -Rasmus > > > > -- > > PHP Internals - PHP Runtime Development Mailing List > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- github.com/KingCrunch --f46d043c7b987cf50b04d41be2cc--