Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85943 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 53362 invoked from network); 24 Apr 2015 09:59:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Apr 2015 09:59:31 -0000 Authentication-Results: pb1.pair.com header.from=johannes@schlueters.de; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=johannes@schlueters.de; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain schlueters.de from 217.114.215.10 cause and error) X-PHP-List-Original-Sender: johannes@schlueters.de X-Host-Fingerprint: 217.114.215.10 mail.experimentalworks.net Received: from [217.114.215.10] ([217.114.215.10:53637] helo=mail.experimentalworks.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D2/00-52524-2041A355 for ; Fri, 24 Apr 2015 05:59:30 -0400 Received: by mail.experimentalworks.net (Postfix, from userid 1003) id B37384A674; Fri, 24 Apr 2015 12:00:09 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on km31408.keymachine.de X-Spam-Level: * X-Spam-Status: No, score=1.4 required=4.0 tests=ALL_TRUSTED, DNS_FROM_AHBL_RHSBL autolearn=no version=3.3.2 X-Spam-HAM-Report: * 2.4 DNS_FROM_AHBL_RHSBL RBL: Envelope sender listed in dnsbl.ahbl.org * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP Received: from [192.168.2.34] (ppp-93-104-5-220.dynamic.mnet-online.de [93.104.5.220]) (using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: johannes@schlueters.de) by mail.experimentalworks.net (Postfix) with ESMTPSA id 89B704A673; Fri, 24 Apr 2015 12:00:06 +0200 (CEST) Message-ID: <1429869562.11703.11.camel@kuechenschabe> To: Arvids Godjuks Cc: Benjamin Eberlei , PHP internals Date: Fri, 24 Apr 2015 11:59:22 +0200 In-Reply-To: References: <5537826A.9010209@gmx.de> <5538881C.8010502@oracle.com> <5538C2A7.4050600@lsces.co.uk> <5538CF4B.5090401@beccati.com> <5538D9B0.5020507@lsces.co.uk> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Re: PDO Oracle driver From: johannes@schlueters.de (Johannes =?ISO-8859-1?Q?Schl=FCter?=) On Fri, 2015-04-24 at 09:16 +0300, Arvids Godjuks wrote: > May I question the sanity of the words written in this email? :D (it's a > joke). > > The whole point of mysqlnd drivers and other improvements was to cut down > on data copying, improving performance and doing a lot of other stuff. > Moving PDO to a PHP implementation will kill it all: preformance will > suffer, memory usage will skyrocket, dealing with charsets - I don't even > wana pretend I understand how to deal with that part in a proper fasion. > Doesn't it require access to internal PHP api's to do a lot of what PDO and > other native drivers do? > Well, the Zephyr could pitch in here, MAYBE, depending on how good it > actually is and what it can do, but still, it feels more like a cruch to me. In many many different topics I stressed that we should do things in userland and use extensions only when needed for performance. Doing things in userland gives * better debugability * better understanding for users * lower entry barrier * faster development time * better ability to evolve (different library versions can coexist on a system, for old and new code) With the changes in PHP 7 this is viable for even more areas. What PDO does is very thin. And mind: If a user truly cares about the last bit of performance they won't use an abstraction, they use DBMS-specific SQL and cut out abstractions. But for many cases that level of performance matters, as usage of ORMs etc. show. Also mind that processing in the database server and network traffic probably cost way more time than a thin wrapper even in userspace (in real life, not in "SELECT 1") johannes