Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:21417 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 1872 invoked by uid 1010); 4 Jan 2006 16:46:37 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 1857 invoked from network); 4 Jan 2006 16:46:37 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Jan 2006 16:46:37 -0000 X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:46220] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 9F/6F-34518-CEBFBB34 for ; Wed, 04 Jan 2006 11:46:37 -0500 Received: from [192.168.1.3] (dslb-084-063-000-198.pools.arcor-ip.net [84.63.0.198]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id F2C8635C1D8; Wed, 4 Jan 2006 17:46:33 +0100 (CET) Date: Wed, 4 Jan 2006 17:46:34 +0100 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <1355723992.20060104174634@marcus-boerger.de> To: Stanislav Malyshev Cc: Lukas Smith , php internals In-Reply-To: References: <20060103205728.GF26280@desario.homelinux.net> <7.0.0.16.2.20060103154506.043678e8@zend.com> <829348376.20060104010548@marcus-boerger.de> <1594973025.20060104122023@marcus-boerger.de> <43BBB6A0.1070800@php.net> <43BBD4F6.6070506@php.net> <1728947126.20060104162939@marcus-boerger.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] __call overload detection From: helly@php.net (Marcus Boerger) Hello Stanislav, both will have a function pointer on the c side so the major slowdown you spoke of will only be there if one actually wants it. Otherwise there will be only the pointer check. marcus Wednesday, January 4, 2006, 5:28:01 PM, you wrote: MB>>> how is this a major slowdown? It would add a simple pointer check at MB>>>runtime and two places to set the pointer, one place will initialize it to MB>>>NULL and the other will store some function pointer just like all the other MB>>>__*()'s do. > You would have two PHP functions: __callable() and __call() which would > both be called and do the same logic on function call. You can not use > "some function pointer" from PHP. Best regards, Marcus