Re: [VOTE] [RFC] 64 bit platform improvements for string length and integer

From: Date: Mon, 19 May 2014 13:31:15 +0000
Subject: Re: [VOTE] [RFC] 64 bit platform improvements for string length and integer
References: 1 2 3 4 5 6 7 8 9 10 11  Groups: php.internals 
Request: Send a blank email to internals+get-74361@lists.php.net to get a copy of this message
We had a long discussion with Pierre on IRC and probably come to some agreement. However, we always talk as a blind with a deaf, so I can't be completely sure :) We agreed to make 64-bit IS_LONG and 64-bit string length on all 64-bit systems, but don't change other core data structures (as Nikita suggested). The main idea of the changes on top of phpng may be seen at https://gist.github.com/dstogov/07fcbb60b1b585bcd290 I checked the patch on 64-bit Linux. The memory consumption grows, but no so dramatic. On wordpress home page without opcache the peak_memory_usage() showed 11043920 bytes insead of 10959456, that mean ~0.8% that we probably can afford. Note that the original patch on the same test showed ~8% memory consumption increase on master. To integrate the patch into phpng we have to re-check and re-change every place where zend_long, zend_ulong and string length are involved. Pierre, if you agree with this proposal just change RFC accordingly, and most people won't object. I'm not sure if we need zend_ulong -> zend_int_t, IS_LONG -> IS_INT, size_t -> zend_size_t renaming in thousand places. In my opinion this work is useless but I won't object against patch just because of names. I would suggest just 3 option for voting - "no", "yes with old names", "yes with new names". Thanks. Dmitry. ​

« previous php.internals (#74361) next »