Newsgroups: php.internals,php.qa Path: news.php.net Xref: news.php.net php.internals:5752 php.qa:15813 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 53284 invoked by uid 1010); 27 Nov 2003 11:52:46 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 53201 invoked from network); 27 Nov 2003 11:52:45 -0000 Received: from unknown (HELO shiva.mind.de) (212.42.230.204) by pb1.pair.com with SMTP; 27 Nov 2003 11:52:45 -0000 Received: from [192.168.1.100] (p508EB6DD.dip.t-dialin.net [80.142.182.221]) by shiva.mind.de (Postfix) with ESMTP id 8758E97B64; Thu, 27 Nov 2003 12:52:39 +0100 (CET) Date: Thu, 27 Nov 2003 12:52:51 +0100 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <20411461953.20031127125251@marcus-boerger.de> To: Derick Rethans Cc: Andi Gutmans , PHP Developers Mailing List , PHP Quality Assurance Team Mailing List In-Reply-To: References: <5.1.0.14.2.20031126172833.06829bb8@127.0.0.1> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-QA] Re: [PHP-DEV] Compatibility problems with PHP 5 From: helly@php.net (Marcus Boerger) Hello Derick, Thursday, November 27, 2003, 11:54:07 AM, you wrote: > Hey, > On Wed, 26 Nov 2003, Andi Gutmans wrote: >> Now that we're at a very advanced stage and the code freeze is coming up, I >> think it'd be a good idea to start running some PHP 4 applications on PHP 5 >> and see how easy things go. I'm sure we'll bump into some issues and many >> of them might be solvable (using the already existing compatibility mode >> for object cloning or by other means). > There is one major problem that I see at this moment, and that is the > problem with shutdown order and destructors. > Problem 1: > extension=mysql.so [...] Since about three month i have a patch to fix this. The latest update can be found here: http://marcus-boerger.de/php/ext/ze2/ze2-shutdown-20031002.diff.txt Tell me if it doesn't apply then i'll update it. What it basically does is destructing the zval's in correct order. The old algorythm had a magnitude of O(n) while the new one has a magnitude of O(n*log(n)) while it should have a normal runtime of N(n) in most cases too. Maybe it is a little bit slower so that runtime could be written as N(n*c) with 1 < c < 1.1. Since we never cared about shutdown time this should be ok anyways. Also the inner loop breaks at a mximum of 64 where its minimum depends on the outer loop. That means that in worst case scenarios that the algorythmn can't solve a few variables take more time then the rest but at least they are freed anyway. -- Best regards, Marcus mailto:helly@php.net