Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71439 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42340 invoked from network); 23 Jan 2014 14:29:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Jan 2014 14:29:51 -0000 Authentication-Results: pb1.pair.com smtp.mail=nikita.ppv@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=nikita.ppv@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.169 as permitted sender) X-PHP-List-Original-Sender: nikita.ppv@gmail.com X-Host-Fingerprint: 209.85.214.169 mail-ob0-f169.google.com Received: from [209.85.214.169] ([209.85.214.169:34853] helo=mail-ob0-f169.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C8/60-39789-E5721E25 for ; Thu, 23 Jan 2014 09:29:51 -0500 Received: by mail-ob0-f169.google.com with SMTP id wo20so2079925obc.14 for ; Thu, 23 Jan 2014 06:29:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=CrtgT+5w7bILMwv5S+GEruRgc3Ea51caSgb/zooOd/s=; b=YdH2vzXvJipSesal11hZbzMDRFvKDPSCVQ20rnfaV6qEtfp8KIYiQTjMQg00ImLQv5 kzgTMvza1m+5DXQ7FC61v9rYZvDP8MfKz+Psc1gU7H0AKmVUiVGQZdUIx4cWsXD6hKfa srkjeWtlrWmaDveahiBGMlX7shTRryI77xC0As5q+0sDbj5TL0MadU3w6Gezl7oeatAq WHKne/TCHUY0fIxzIJzmiF8LuuRV24/cgyf0kJ9u716KDWf+erx+lEMw+vJAQANdzopd wEDAplPhvgUjqJlCWKj9zRRxtkx5P6yCXFJqXNba+VVtra/u1uUhiajG+0eTVwmlTkq0 pQXw== MIME-Version: 1.0 X-Received: by 10.182.250.163 with SMTP id zd3mr7061356obc.20.1390487387836; Thu, 23 Jan 2014 06:29:47 -0800 (PST) Received: by 10.182.54.112 with HTTP; Thu, 23 Jan 2014 06:29:47 -0800 (PST) In-Reply-To: <52E0F55F.4040802@lsces.co.uk> References: <52E0F55F.4040802@lsces.co.uk> Date: Thu, 23 Jan 2014 15:29:47 +0100 Message-ID: To: Lester Caine Cc: PHP internals Content-Type: multipart/alternative; boundary=089e01634ec2d162e404f0a4129b Subject: Re: [PHP-DEV] [RFC] 64 bit platform improvements for string length and integer From: nikita.ppv@gmail.com (Nikita Popov) --089e01634ec2d162e404f0a4129b Content-Type: text/plain; charset=ISO-8859-1 On Thu, Jan 23, 2014 at 11:56 AM, Lester Caine wrote: > Pierre Joye wrote: > >> I think we can clear these questions during the vote phases, as options. >> >> If anyone has an idea how to keep the advantage brought by the >> renaming (compile checks, clarity, code correctness) without actually >> doing the renaming in extensions, please fire it:) >> > > Is this still being put forward for a PHP5.x build? Surely this along with > a tidy up on base modules that support it would be much better used as a > base for a new PHP6 plan? Extensions that do not support it can also be > left out and we have a clean demarcation. > I agree with Lester (for once ^^). I think this change is too large for PHP 5.6. While the releaseprocess RFC does not guarantee compatibility of our internal APIs, it does say that source compatibility *should* be preserved for minor versions. Until now we stuck with that rule: Every minor release a few APIs are changed, but "few" usually means something like three or four, not five hundred. If this patch is included in PHP 5.6 I think it is very likely that many extensions will not be updated or take a long while in updating. It's one thing to add two or three new ifdefs to support a new PHP release and something entirely else to change virtually all types in your code and verify that it is still safe with the new sizes. I remember how lack of proper APC support was seen as a major problem with adoption of PHP 5.4 - now imagine how lack of support by nearly all extensions would look like... As such I think that PHP 6 is a better place for this patch. PHP 6 will presumably also clean up / change many other internal APIs, so we can have all the major internal (and external ^^) breakage in one release. At that point it might also make sense for many people to support separate versions of extensions for PHP 5 and 6 to avoid the ifdef-hell. Nikita --089e01634ec2d162e404f0a4129b--