Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:39064 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 57820 invoked from network); 17 Jul 2008 18:03:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Jul 2008 18:03:24 -0000 Authentication-Results: pb1.pair.com smtp.mail=stas@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=stas@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.163 as permitted sender) X-PHP-List-Original-Sender: stas@zend.com X-Host-Fingerprint: 212.25.124.163 il-gw1.zend.com Windows 2000 SP4, XP SP1 Received: from [212.25.124.163] ([212.25.124.163:17062] helo=il-gw1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4D/65-31728-B698F784 for ; Thu, 17 Jul 2008 14:03:24 -0400 Received: from us-ex1.zend.com ([192.168.16.5]) by il-gw1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 17 Jul 2008 21:03:52 +0300 Received: from [192.168.16.110] ([192.168.16.110]) by us-ex1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 17 Jul 2008 11:03:48 -0700 Message-ID: <487F8984.8030309@zend.com> Date: Thu, 17 Jul 2008 11:03:48 -0700 Organization: Zend Technologies User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) MIME-Version: 1.0 To: Lukas Kahwe Smith CC: Greg Beaver , PHP Developers Mailing List , Dmitry Stogov References: <486FA5FB.1000300@php.net> <4872B5D4.1000205@zend.com> <4877CE04.4070104@chiaraquartet.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 17 Jul 2008 18:03:48.0966 (UTC) FILETIME=[768A0060:01C8E837] Subject: Re: [PHP-DEV] Re: towards a 5.3 release From: stas@zend.com (Stanislav Malyshev) Hi! > Greg's argument seems sound to me. With the proposed change errors are > less likely and more transparent in case they happen (for people using No, they won't be transparent at all. If you use Exception and forget to put "use ::Exception" in each and every of your files, you get exhaustive search of include path (not helped by bytecode caching, btw - all bytecode caches I know cache existing files, not searches for non-existing ones) on each mention of Exception. You can not see it - on the surface, everything works fine. Then, when you think your code is fine, you run profiler and boom - you see 200 file accesses where there should be none. > autoload that is). At the same time people who care about performance > can still work around this behavior (then again those that care about > optimizations on this level probably do not use autload to begin with). What's wrong with autoload? You sound like autoload is somehow contrary to performance, which is not true. > So I guess the point is .. autoload is there for convinience, so lets > make it as convinient as possible. I don't see how having internal class mention trigger exhaustive autoload search is "as convenient as possible". For me, it is a huge landmine under every PHP application trying to use namespaces - forget one use statement and boom, your performance is gone. If you want to do that, you better force using ::Class everywhere - this way at least there's a way to know where it will blow up without running system call traces on every piece of code. -- Stanislav Malyshev, Zend Software Architect stas@zend.com http://www.zend.com/ (408)253-8829 MSN: stas@zend.com