Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:74153 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 29731 invoked from network); 14 May 2014 05:46:50 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 May 2014 05:46:50 -0000 Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.49 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.192.49 mail-qg0-f49.google.com Received: from [209.85.192.49] ([209.85.192.49:64932] helo=mail-qg0-f49.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 55/DB-53767-94303735 for ; Wed, 14 May 2014 01:46:49 -0400 Received: by mail-qg0-f49.google.com with SMTP id a108so1996046qge.22 for ; Tue, 13 May 2014 22:46:46 -0700 (PDT) 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=ytjbuUpyB0CY5VeRn+VibiXmoguWJFem1HJb8Kc7yzE=; b=EkLVr+KXiaPsQ9SsMzLrFcNLsiDoaz8xoFJM3Ouu50MHvvtTemJpRcxuTrbpNea54I C4xlevngx3N81gon7UbunW9kW9mRdP7tTRWehcIX/ZI7ul286aG77+xBrNw5mHjefKGO lH0DF7dBtUYzwOrRm88gNl5lN13CCDkH4jVEVCT/4MsBrkma5xCzLO6YgUypDEwI+Bzo 5a3JeL++ETKNhIqJeUtxhzeqigrtBN/IxjFDlfrZz44Tj/Cw5sxBtNxwpP+oASZPYH/k kQuD+UHMKjvfb2fOii/efHPaLx51urcytWABVjno3+Cbfx/TdlQFDYMNrWGHMfjEMAhC yTUw== MIME-Version: 1.0 X-Received: by 10.224.129.135 with SMTP id o7mr283663qas.18.1400046406735; Tue, 13 May 2014 22:46:46 -0700 (PDT) Received: by 10.140.47.231 with HTTP; Tue, 13 May 2014 22:46:46 -0700 (PDT) In-Reply-To: References: Date: Wed, 14 May 2014 07:46:46 +0200 Message-ID: To: Nikita Popov Cc: Dmitry Stogov , Anatol Belski , PHP Internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] [VOTE] [RFC] 64 bit platform improvements for string length and integer From: pierre.php@gmail.com (Pierre Joye) On Wed, May 14, 2014 at 7:30 AM, Nikita Popov wrote: > Sorry, what did I miss here? Why cannot the phpng numbers be taken as > "valid"? At this stage, this is a key part of this sentence. > The very same issue also exists in our current implementation. In > phpng the relative hit is just larger, because the structures are more > optimized. > > I think you shouldn't dismiss Dmitry's point just like that. I do not and did not. I would love to see the same from the phpng side, but it failed, for no valid reason. > Having support > for 64 bit integers on Windows and other LLP64 architectures - that's great. > Making string lengths unsigned - that's great as well. But supporting > strings larger than 4G or arrays with more than 4 billion elements Very large string or arrays are only side effects, it does not change the goals and benefits of these changes. > - that > does not seem very useful and unlike the other two changes, hurts memory > usage. I wonder how many people would prefer having lower memory usage over > having the ability to create arrays with 4 billion elements. This is a biased argument, you know it, I know it. The key point is not about the new maximum size of an array or string but the long due clean and safe 64bit implementation, following well known good practice (can be seen in almost all other OSS projects out there) and standards. > Independently of that: In a lot of the previous discussion people have many, > many, many times asked that this patch be implemented without all those > macros renames and zpp changes. I still have a hard time seeing the benefit > of doing that. The zpp changes also conflict with phpng, because S has a > different meaning (and imho for no good reason - it could just as well stay > at s). This can be adapted, this is a details. It is also why I have tried to get phpng and this patch along together and get both teams work together. Cooperation in this case will be benefit for php as a whole as more optimization can be achieve while keeping the safe&clean implementation. As of now, phpng has been worked on for the last months, totally privately. And even if it looks promising it is still not remotely ready to be actually proposed. However it does not prevent you to use it to stop other improvements, which have been worked on for months, publically, with continuous tests, status updates, etc. I am not sure what is happening here is good for PHP. Cheers, -- Pierre @pierrejoye | http://www.libgd.org