Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:36142 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 92416 invoked from network); 14 Mar 2008 16:33:00 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Mar 2008 16:33:00 -0000 Authentication-Results: pb1.pair.com smtp.mail=helly@php.net; spf=unknown; sender-id=unknown Authentication-Results: pb1.pair.com header.from=helly@php.net; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 85.214.94.56 as permitted sender) X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 85.214.94.56 aixcept.net Linux 2.6 Received: from [85.214.94.56] ([85.214.94.56:39539] helo=h1149922.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D1/50-09575-AB8AAD74 for ; Fri, 14 Mar 2008 11:33:00 -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 3BFB011F065; Fri, 14 Mar 2008 17:32:54 +0100 (CET) Date: Fri, 14 Mar 2008 17:32:51 +0100 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <3210620415.20080314173251@marcus-boerger.de> To: "Dmitry Stogov" CC: "Marcus Boerger" , "Andi Gutmans" , "Stas Malyshev" , "phpxcache" , In-Reply-To: <06B0D32C7A96544490D18AF653D6BDE5026BA3C7@il-ex1.zend.net> References: <06B0D32C7A96544490D18AF653D6BDE5026BA3C7@il-ex1.zend.net> 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: helly@php.net (Marcus Boerger) Hello Dmitry, Friday, March 14, 2008, 5:08:18 PM, you wrote: >> I do not want to remove early binding. In fact I always >> wanted to have early binding as much as possible. Because >> that is faster and makes compiler caches easier. So why slow >> down stuff? A Compiler cache wants everythign as static as >> possible which means a compiler cache wants early binding. >> This is also faster. So what are you proposing here? > As I already explained, early binding may not work for cached code, > because of cross file dependencies. > My patch allows to delay early binding from file-compile-time to > file-load-from-cache-time. But that means we are compiling inheritance when a file is loaded form the cache. The goal should be to compiling inheritance when writing to the opcode cache file. All we achieve here is a slow down. If there is something that makes this required than at least we need to warn the user about the slow code. I Think what we need to do is deprecating class and namespace use in non main blocks as well as include and require in non main blocks. And if there is no such case than everything can be bound early which is the fast state we should aim for. Best regards, Marcus