Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:16603 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 64432 invoked by uid 1010); 10 Jun 2005 20:45:34 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 64416 invoked from network); 10 Jun 2005 20:45:34 -0000 Received: from unknown (HELO marcus-boerger.de) (127.0.0.1) by localhost with SMTP; 10 Jun 2005 20:45:34 -0000 X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:51591] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 1.2 r(5656M)) with SMTP id 28/FF-18818-EEBF9A24 for ; Fri, 10 Jun 2005 16:45:34 -0400 Received: from baumbart.mbo (dsl-082-083-251-251.arcor-ip.net [82.83.251.251]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id 32A4935C1CF; Fri, 10 Jun 2005 22:58:23 +0200 (CEST) Date: Fri, 10 Jun 2005 22:47:34 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <1522283296.20050610224734@marcus-boerger.de> To: Gareth Ardron Cc: Jani Taskinen , internals@lists.php.net In-Reply-To: <42A99089.7030209@fission.org.uk> References: <42A99089.7030209@fission.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Improving (?) PHP extension loading mechanism (was: Re: [PHP-CVS] cvs: php-src /ext/pdo pdo.c) (fwd) From: mail@marcus-boerger.de (Marcus Boerger) Hello Gareth, Friday, June 10, 2005, 3:07:21 PM, you wrote: > Jani Taskinen wrote: >> >> - Make it quicker. I haven't done any benchmarks but it's pretty >> obvious >> this does make the PHP startup slower.. > Ok, slower in what way - I mean, lets assume apache1.3 is being used > here, does it make the apachectl start slower, or does it make each > indivdual request slower ? If it's the later, I'd say it's slow enough > already. I'm having to ./buildconf --force and build custom modules > directly into php because of the speed issues for certain projects I'm > involved in - I'm not sure I like the idea of that speed difference > becoming more of an issue. We are speaking of the MINIT pahse here that happens twice in apache 1.3 and once in apache 2.0 on server start. The RINIT phase that is being executed on every request doesn't need it so far. However we should add an entry for that phase too since we might sooner jump into this than we want. The current implementation has a runtime behavior of: O(n) The slowest approach would be: O(n-m) + O(m^2) = O(n) + O(m^2) = O(m^2) with n being the number of modules and m being the number of dependent modules in real life it would turn out to be something like: O(n) + C with C being a small constant compared to the registering operation itself. > Though it sounds cool in principle :) Yeah it is. -- Best regards, Marcus mailto:mail@marcus-boerger.de