Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:74158 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 43448 invoked from network); 14 May 2014 07:52:45 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 May 2014 07:52:45 -0000 Authentication-Results: pb1.pair.com smtp.mail=zeev@zend.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=zeev@zend.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain zend.com from 209.85.128.174 cause and error) X-PHP-List-Original-Sender: zeev@zend.com X-Host-Fingerprint: 209.85.128.174 mail-ve0-f174.google.com Received: from [209.85.128.174] ([209.85.128.174:48918] helo=mail-ve0-f174.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B5/30-40033-CC023735 for ; Wed, 14 May 2014 03:52:45 -0400 Received: by mail-ve0-f174.google.com with SMTP id jw12so1909800veb.33 for ; Wed, 14 May 2014 00:52:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:cc:content-type; bh=dCiIsgZkyHt2nK1du/BBuZSn5pDufxaIF7LL5ZIMP3M=; b=Xi2gCkZO6sg2+bAx6nbAm7oTn9trPwKYYUwipfmwdt7/x51tDbQU9KFF0Hyd7/gGnw LXezS3bWw8IWdn06PKnEYqoB4HfZY6oU1528wIMcVo5yA7zaqbSwLXw9Y8W9GCZqY9tZ h0geo/DGjAnIlIaxhzjvn2nlYO2799lxcAx1a3BXKKoVrS9WnuylyXMQgLMNQwNvqEDD 4tp/pHBLFqb/vevYctFbBLBGaoQO4CgQHVbriYGdY1pHHSij34GZCfydlZ4EsQGRZnNt YySoLgjdGFE/rRsSLNITGlFYyWoII/SqtAMiT5Zm8DyPsRDAiwejAYJoWCVTpgVZ9vLI zUjg== X-Gm-Message-State: ALoCoQlorbbSFdUNt2/2P9hfuaAmaMk8BJ0qqs/nuGWpto3hfP+1w8zSnoJlLWr3sjN0ai/iT2TxPGUj/ETGKgI6PnDzaOMII9fBGVtBXwiwK50neB4pYCCXYXKW1qelI8P9+p/3BHq1 X-Received: by 10.52.141.74 with SMTP id rm10mr1549413vdb.6.1400053962413; Wed, 14 May 2014 00:52:42 -0700 (PDT) References: In-Reply-To: MIME-Version: 1.0 X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQC7HuE3UTXSihebCHoftrMU80C7TANQnU43APB9DS4CfHO5+50yZWcA Date: Wed, 14 May 2014 00:52:41 -0700 Message-ID: To: Nikita Popov Cc: 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: zeev@zend.com (Zeev Suraski) Well put Nikita! Guys - we're in a bit of a ridiculous situation where the key low-level engine maintainers are saying this patch is unacceptable, yet it may pass due to the low level of overall interest and the lack of special rules to govern low-level changes like that (where with all due respect, I think the main maintainers of the engine should get much stronger power). The patch the way it is now should be discarded; All the macro changes, as well as any data structure change except for IS_LONG should be removed. Given that the current RFC doesn't thoroughly represent the performance hit (in terms of memory footprint, as well as resulting performance hit - especially when using phpng), I recommend the following: * Add the relevant performance feedback from Dmitry to the RFC, as well as his concerns as the chief performance guy php.net has * Provide an option for people to vote 'yes' for the IS_LONG size part only If the authors of the RFC object, my request from everyone who has voting rights here is to vote 'no' and we can create a separate RFC for the IS_LONG part only. Forcing this change against the explicit concerns of Dmitry and Nikita, who worked their rear ends off to squeeze every bit of performance in phpng (along with Xinchen, and now others joining in) - is, well, ridiculous IMHO. Zeev > Sorry, what did I miss here? Why cannot the phpng numbers be taken as > "valid"? > 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. 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 - 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. > > 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). > > Nikita