Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:36147 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 57522 invoked from network); 14 Mar 2008 18:28:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Mar 2008 18:28:29 -0000 Authentication-Results: pb1.pair.com smtp.mail=mail@marcus-boerger.de; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=mail@marcus-boerger.de; sender-id=unknown Received-SPF: error (pb1.pair.com: domain marcus-boerger.de from 85.214.94.56 cause and error) X-PHP-List-Original-Sender: mail@marcus-boerger.de X-Host-Fingerprint: 85.214.94.56 aixcept.net Linux 2.6 Received: from [85.214.94.56] ([85.214.94.56:42890] helo=h1149922.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 06/1E-09575-BC3CAD74 for ; Fri, 14 Mar 2008 13:28:28 -0500 Received: from localhost (h1149922.serverkompetenz.net [85.214.94.56]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by h1149922.serverkompetenz.net (Postfix) with ESMTP id 5A89211F100; Fri, 14 Mar 2008 19:28:21 +0100 (CET) Date: Fri, 14 Mar 2008 19:28:13 +0100 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <683206895.20080314192813@marcus-boerger.de> To: Stanislav Malyshev CC: internals@lists.php.net In-Reply-To: <47DABA84.6060103@zend.com> References: <06B0D32C7A96544490D18AF653D6BDE5026BA3C7@il-ex1.zend.net> <3210620415.20080314173251@marcus-boerger.de> <47DAAD25.4000507@zend.com> <1539788104.20080314182355@marcus-boerger.de> <47DABA84.6060103@zend.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] Patch for opcode caches From: mail@marcus-boerger.de (Marcus Boerger) Hello Stanislav, Friday, March 14, 2008, 6:48:52 PM, you wrote: > Hi! >> Lemme just think, doing inheritance at compile time before we send the stuff >> to an opcode cache can be slower then? How is that possible? After all late >> binding means we do it at run time. And no matter how much faster we can do >> it. It will always be slower than doing the same thing only once. > I'm taking this off-list because it doesn't seem to go any direction it > can be useful for people to read. Hmm, so other people must not read what we discuss, that does not work. > Repeating again: it can not be done "only once". Not with opcode caches > present and bound entities living in separate file. This thing is not > possible. If you do not believe it - try to implement it and see. That is my point. It can be done. The reason to delay inheritance is that we can have a conditional statement around a class definition. If we detect classes that do not have conditionals around them, then we can bind them early. It is as easy as that. So instead of making the language more dynamic and even removing a chance of having inheritance dones early where possible we should work on making the desired case - eraly binding - as easy as possible. marcus