Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71811 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 99851 invoked from network); 31 Jan 2014 00:42:45 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Jan 2014 00:42:45 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 108.166.43.75 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 108.166.43.75 smtp75.ord1c.emailsrvr.com Linux 2.6 Received: from [108.166.43.75] ([108.166.43.75:36623] helo=smtp75.ord1c.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B3/51-27138-481FAE25 for ; Thu, 30 Jan 2014 19:42:44 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp2.relay.ord1c.emailsrvr.com (SMTP Server) with ESMTP id 5028F1E8461; Thu, 30 Jan 2014 19:42:42 -0500 (EST) X-Virus-Scanned: OK Received: by smtp2.relay.ord1c.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id CAC831E8467; Thu, 30 Jan 2014 19:42:41 -0500 (EST) Message-ID: <52EAF181.3000907@sugarcrm.com> Date: Thu, 30 Jan 2014 16:42:41 -0800 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: Derick Rethans , Anatol Belski CC: PHP Developers Mailing List , Matt Ficken , "Stephen A. Zarkos" References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] [VOTE] 64 bit platform improvements for string length and integer From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > Okay, so I've just looked at your attempt to port the MongoDB driver to > the "size_t" branch: > https://github.com/weltling/mongo-php-driver/compare/mongodb:master...master > > And seriously, this one of the biggest mistakes I've seen in a while. > Changing APIs so much that basically half of your code needs an update, > or #ifdef hell. This is not acceptable, especially not for a PHP 5.X > branch — especially not so late in the game for 5.6! Yeah, I looked at that patch and also at the diff between what replace.php produces and what is the end result, and it kind of worries me. Especially the part when you have to manually update all the types and how easy it is to miss one. Not sure, if this is solved automatically then I might be overreacting but right now it looks like I, for example, have been underestimating the amount of code disruption this is causing. I think refactoring PHP types and cleaning them up is a good idea, but it also means I can't recommend 5.6 adoption to anybody for years after the release, after we're sure extensions that were disrupted are stable again. And we're not on stellar numbers with 5.5 adoption now, even given 5.4 to 5.5 supposed to be pretty much smooth ride unless you mess with opcodes. Again, I'm not against the idea of the patch or the implementation, but looking at how much work it seems to take for ext author, I'd say it may be a good start for PHP 6 branch. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227