Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:74337 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 53534 invoked from network); 18 May 2014 11:34:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 May 2014 11:34:56 -0000 Authentication-Results: pb1.pair.com header.from=rasmus@lerdorf.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=rasmus@lerdorf.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lerdorf.com from 74.125.83.48 cause and error) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 74.125.83.48 mail-ee0-f48.google.com Received: from [74.125.83.48] ([74.125.83.48:58877] helo=mail-ee0-f48.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 18/16-12623-FDA98735 for ; Sun, 18 May 2014 07:34:55 -0400 Received: by mail-ee0-f48.google.com with SMTP id e49so2714108eek.21 for ; Sun, 18 May 2014 04:34:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=JWLL6JaeF5IW1LSIBc9XneRoWKf4kWlNSuX8MrNH53E=; b=XxFGzy5ZhtZpkjCeCBonARdK+71y4D8yuy+m9pRnN0sLd6a+SIN1uHlom+KGuc0qjl 3ODHQFRJW72ZDNusZkLmYPD2jxgogFyXJbxLh04VmrgZzQJ5a7d7nEfo9FAd+pdr8UjQ RNWJokOi3/Odqj9m27I/LRLA2cyZVP1wykgdQXfr8zuk2lsAGgP+5wZ2xv0jJ7+zZbii m0KqxiTzOkhXPk52QkTKWkOSQ1vlpmrnd2O9a/zVh+f9ZYb3C2cQCq+vampjjDNod76o sbJcSWd3vWWyTPQr/UvvL6HTA9D+dmX+kB7urMI3cLdynKh/HRDd7nYXzVC+vumzo7tV q3Lw== X-Gm-Message-State: ALoCoQnGx8S0FRcPvxCl3m4kA8gjRtvAGUrhp6IC8Wj12SiMIyJidU1M7kgZlPul9Zt3ub4B/WsK X-Received: by 10.14.178.195 with SMTP id f43mr11432557eem.58.1400412892816; Sun, 18 May 2014 04:34:52 -0700 (PDT) Received: from [10.140.218.75] ([88.128.80.132]) by mx.google.com with ESMTPSA id l8sm1437776eeo.13.2014.05.18.04.34.50 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 18 May 2014 04:34:51 -0700 (PDT) Message-ID: <53789AD9.40109@lerdorf.com> Date: Sun, 18 May 2014 13:34:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Pierre Joye CC: Nikita Popov , PHP internals References: <53788337.9090006@lerdorf.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Rethinking 64bit sizes and PHP-NG From: rasmus@lerdorf.com (Rasmus Lerdorf) On 05/18/2014 12:13 PM, Pierre Joye wrote: > On Sun, May 18, 2014 at 11:53 AM, Rasmus Lerdorf wrote: >> On 05/17/2014 08:27 PM, Nikita Popov wrote: >>> So, that's my opinion on how we should proceed with the 64bit patch. I very >>> much hope that we can reach some consensus about this. >> >> Thanks for pulling this together Nikita. People have been asking me >> about this issue and this was exactly what I told them we would likely >> end up with as it is a sane and reasonable implementation of the two >> efforts. I would guess an rfc vote between the alternatives, as I see >> them, would favour this one by a wide margin. > > It is exactly what we have been advocating during the whole process. > More about that in a mail I'm writing. > >> As for >4G strings, it does seem unlikely, on current hardware, that you >> would stick that much data in a variable. You might be able to get one >> in there, but if you then do anything with it, the tmp copy is going to >> make things fall over pretty quickly. But who knows in 4-5 years maybe >> having a TB of ram in servers will be the norm, IO channels have become >> much wider and we are manipulating 4K video files directly in PHP so >> perhaps you can make a future-proofing argument there. > > The string length is a side effect, not a goal per se, never was. But > variables, buffers dealing with external libraries or functions are > sensible areas. A safe implementation will prevent many issues we > already had, many times. Also correct typing and less (if not none) > magic casting guessed by the compiler will also drastically increase > PHP code quality and safety. These two points, and 64bit integer in a > portable manner, are the top goals of this RFC. You keep talking about side effects of the patch. It is these side effects that we have a problem with. We need a version of the patch that doesn't have all these undesired side effects. You put the patch as it stands up for a vote and it is this patch we have to vote on which is why I am voting no on it. It isn't some future version with some unknown number of side effects removed. -Rasmus