RE: [PEAR-DEV] PEAR::DB advocacy

From: Date: Thu, 06 Feb 2003 22:02:12 +0000
Subject: RE: [PEAR-DEV] PEAR::DB advocacy
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-13030@lists.php.net to get a copy of this message
> -----Original Message----- > From: Tony Bibbs [mailto:tony@tonybibbs.com] > Sent: Thursday, February 06, 2003 10:48 PM > To: PEAR Development > Subject: [PEAR-DEV] PEAR::DB advocacy > > To be clear, I'm a PEAR::DB advocate. However, a project I am working on > is going to use PEAR::DB and a user blasted me wtih this tidbit from the > ADODB website regarding performance. My question is how do I address this > from the advocates standpoint? Assuming the numbers are based on a valid > benchmark, are there plans to review PEAR::DB for optimizations? > > Average Overhead > MySQL 1.14 - > dbx 1.37 20% (index only) > ADODB 1.45 27% > dbx 1.53 34% (index/assoc/info) > PhpLib 1.60 40% > MDB 1.75 54% > PEAR DB 2.87 152% (fetchInto) > PEAR DB 3.15 176% (fetchRow) > M'base 2.52 296% (numeric cols) > M'base 4.77 318% (assoc cols) Well here is a posting by Tomas Cox that will shed some light on the situation: http://marc.theaimsgroup.com/?l=pear-dev&m=100793507904834&w=2 The results seem pretty harsh though. Anyways, I hope that person was benchmarking for his specific needs and not some random situation. Another important point is if it has the features you need etc. Take Metabase for example: While it takes last place in this benchmark, it is none the less a prime choice if you need PHP3 support as well as a complete set of abstraction facilities and a large number of drivers. Regarding PEAR DB. A lot of the things that Tomas talked about in his post have been incorporated into MDB. But I doubt that MDB is really that much faster in normal use. Especially if you use the datatype abstraction (which is optional). Then there is another "benchmark" to consider. How long does it take to make your application compatible with another RDBMS. How long does it take to port the schema? If you use abstraction do so for a good reason, or use the native API's. Regards, Lukas

« previous php.pear.dev (#13030) next »