Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:52493 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 66004 invoked from network); 21 May 2011 07:31:46 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 May 2011 07:31:46 -0000 Authentication-Results: pb1.pair.com header.from=davidkmuir@gmail.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=davidkmuir@gmail.com; spf=unknown; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain gmail.com does not designate 208.113.200.5 as permitted sender) X-PHP-List-Original-Sender: davidkmuir@gmail.com X-Host-Fingerprint: 208.113.200.5 caibbdcaaaaf.dreamhost.com Windows 98 (1) Received: from [208.113.200.5] ([208.113.200.5:42715] helo=homiemail-a82.g.dreamhost.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 8A/10-61511-C9467DD4 for ; Sat, 21 May 2011 03:07:08 -0400 Received: from homiemail-a82.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a82.g.dreamhost.com (Postfix) with ESMTP id A724D282060 for ; Sat, 21 May 2011 00:06:55 -0700 (PDT) Received: from [192.168.3.3] (softbank221040106178.bbtec.net [221.40.106.178]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: david@thefourstooges.com) by homiemail-a82.g.dreamhost.com (Postfix) with ESMTPSA id 5654D28205F for ; Sat, 21 May 2011 00:06:55 -0700 (PDT) Message-ID: <4DD76482.2030209@gmail.com> Date: Sat, 21 May 2011 16:06:42 +0900 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10 MIME-Version: 1.0 To: internals@lists.php.net References: <4DD693BB.7030300@garfieldtech.com> In-Reply-To: <4DD693BB.7030300@garfieldtech.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Porting PECL to userspace From: davidkmuir@gmail.com (David Muir) On 21/05/11 01:15, Larry Garfield wrote: > Hi all. > > I'm working with a fellow developer on an experimental project. There > are some PECL modules that we want to try and use in an open source > project where we cannot guarantee that PECL modules will be available, > since it's intended for widespread distribution on both shared hosts > and custom hosting. The thought we had was to do a user-space port of > the PECL module to include in the project and rely on that. Then if > the PECL module is installed, we don't include the library (either via > an extension_loaded() check or just relying on autoload) and the PECL > implementation gets used instead. Poof, nice speed boost. > > The questions I have are: > > 1) Is this even a viable approach? It seems like it, but to my > knowledge no one else has done this to any serious extent which makes > me wonder if there's a reason the road less traveled is less traveled. One reason would be because it requires fixing bugs and implementing features twice, so it effectively doubles the required work. > > 2) Is anyone else doing this? No sense doing it ourselves if someone > else already is. There's a Drupal extension that does something like this, but in reverse: http://drupal.org/project/drupal_php_ext Cheers, David