Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:12950 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 98463 invoked by uid 1010); 23 Sep 2004 16:06:27 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 98396 invoked from network); 23 Sep 2004 16:06:26 -0000 Received: from unknown (HELO mail.zend.com) (80.74.107.235) by pb1.pair.com with SMTP; 23 Sep 2004 16:06:26 -0000 Received: (qmail 1285 invoked from network); 23 Sep 2004 16:06:24 -0000 Received: from localhost (HELO AndiNotebook.zend.com) (127.0.0.1) by localhost with SMTP; 23 Sep 2004 16:06:24 -0000 Message-ID: <5.1.0.14.2.20040923085826.03796c40@localhost> X-Sender: andi@localhost X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Thu, 23 Sep 2004 09:06:18 -0700 To: Thies C. Arntzen ,internals@lists.php.net In-Reply-To: References: <5.1.0.14.2.20040922110625.05297540@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: Re: [PHP-DEV] New VM architecture From: andi@zend.com (Andi Gutmans) At 10:31 AM 9/23/2004 +0200, Thies C. Arntzen wrote: >On 2004-09-22 20:09:47 +0200, Andi Gutmans said: > >>Guys, >>There's no feedback about the new VM architecture and it's hard to >>maintain the patches as changes are being made to the source base constantly. >>I will recommit the patches on Monday unless someone has reasonable >>objections. I reverted the patch so that people had time to review but it >>doesn't seem to have happened eventhough I've sent out two reminders. >>In general, this patch improves performance by about 20% and supports >>goto opcode threading. I don't see a very good reason not to commit it. > >andi, > >i really think it's time to write some engine-level benchmarks (loops etc) >so we can actually see the improvement. We have something quite synthetic (loops and function calls) so I wouldn't give it too much weight but I'll commit it to the Zend CVS. >even though i really think that the VM-loop should be generated and not >done thru cpp-magic i think committing it is a "step forward" .remember, >sterling and i had a patch for this (& more) more than a year ago... Yeah, I actually also did this patch in the past (the threading patch) but threw it away because I didn't want to hard code it, especially as many compilers don't work with it. Now we thought of an automated way of doing it where we can also easily change the execution architecture. That is the reason it has waited for so long, because we never had the right implementation. What's next? Well I'd like to get the realpath() into PHP. We've played around with taking the function handler execution architecture and serializing it into machine code but it doesn't really improve performance over the threaded goto. The main problem also is that when you check the non-synthetic benchmarks but real life apps like php-nuke or other apps, then the bottlenecks are usually elsewhere. Andi