Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:26822 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 9862 invoked by uid 1010); 6 Dec 2006 16:32:12 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 9847 invoked from network); 6 Dec 2006 16:32:12 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Dec 2006 16:32:12 -0000 Authentication-Results: pb1.pair.com smtp.mail=pollita@php.net; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=pollita@php.net; sender-id=unknown; domainkeys=good Received-SPF: error (pb1.pair.com: domain php.net from 140.211.166.39 cause and error) DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: pollita@php.net X-Host-Fingerprint: 140.211.166.39 osu1.php.net Linux 2.4/2.6 Received: from [140.211.166.39] ([140.211.166.39:40589] helo=osu1.php.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C0/4A-54198-C80F6754 for ; Wed, 06 Dec 2006 11:32:12 -0500 X-DomainKeys: Ecelerity dk_sign implementing draft-delany-domainkeys-base-01 DomainKey-Signature: q=dns; a=rsa-sha1; c=nofws; s=mx; d=php.net; h=From:Subject:To:Date; b=G1iaZJnDKHEKx1qqJRgDgeqgpa2bFwec83CI32reXYeneXK23FICWg7TGakBoNvq re8Ax02kC+mJEG7kdbyq4jbyeBxQ+0hJtO1R/fo+vdzI4vabo4ECMmjuCyH12pod Authentication-Results: osu1.php.net smtp.user=pollita; auth=pass (LOGIN) X-Host-Fingerprint: 69.12.155.129 unknown Received: from [69.12.155.129] ([69.12.155.129:49919] helo=[172.31.5.146]) by osu1.php.net (ecelerity 2.1.1.11-rc1 r(13363/13364M)) with ESMTPSA (cipher=AES256-SHA) id 1C/C2-16529-E91F6754 for ; Wed, 06 Dec 2006 08:36:46 -0800 Message-ID: <4576F096.8070803@php.net> Date: Wed, 06 Dec 2006 08:32:22 -0800 User-Agent: Thunderbird 1.5.0.8 (Macintosh/20061025) MIME-Version: 1.0 To: dmitry@zend.com CC: internals@lists.php.net, Andi Gutmans Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Function call speedup (CV applied to functions) From: pollita@php.net (Sara Golemon) > We had very similar idea in the past. > BTW it is possible to optimize function calls mach more. > Not only ZEND_DO_FCALL but also ZEND_INIT_FCALL_BY_NAME can be optimized, > and we can reuse the same cache entries for all op_arrays from the same PHP > file. > Sure, I went shallow with this first version just to have something to discuss, so that general intent was clear. There's certainly a lot that can be done to improve it both from a code-line coverage and in actual implementation (for one thing, I got a crash with it a couple days ago which I havn't bothered tracking down). Making the cache per-file (rather than per-scope) would definately be a good direction to go (per-execution would unfortunately break opcode cache assumptions so we can't go that high), but I couldn't come up with a simple/easy way to "track" the current file. I suppose we could use the op_array's filename attribute to lookup a cache vector from a hashtable anytime scope changes... > I'll make a patch and send it to you in fey days. > Can't wait to see it! :) -Sara