Hi François, this is not a proposal yet, this is just an initial request to the most experinced PHP developers to think about possible consequnces.
Thanks. Dmitry. On Dec 31, 2014 9:50 PM, "François Laupretre" <[email protected]> wrote: > > De : Dmitry Stogov [mailto:[email protected]] > > > Please take a look into the patch > > > > https://github.com/php/php-src/pull/970/files > > > > This real changes are in zend_types.h, the rest is renaming that in most > > cases makes code cleaner. > > > > zend_array didn't change its binary representation, but now it's not > > possible to get a pointer to embedded HashTable. The same zend_array > > shoukd > > be used instead. > > > > Each HashTable got an extra 64-bit zend_refcounted header. This leads to > > some increase in memory consumption. > > > > The performance is slightly increased (may be measured with callgrind). > > > > The patch beaks one test (tests/lang/foreachLoopObjects.006.phpt), but > > actually it just disclose a problem that we have anyway. > > > > The patch should be a base for the future optimizations. e.g. removing > > HashTable->arData and/or HashTable->arHash and allocating them together > > with zend_array; introducing EG(empty_array) etc. > > "Showing 46 changed files with 193 additions and 204 deletions". I am > sorry but I can't analyze the impacts of your change, just from the patch. > Did you write an RFC that would explain the impact, especially for > extension writers ? > > More generally, what is the rule ? Is there a list of people who can > introduce changes in the code, and even BC breaks in the C API, without > writing RFCs, or is it just a question of rights/karma on the source > repository ? I say that because it is especially hard to have a proposed > change accepted on the mailing list, as several 'watchdogs' are there to > dismiss ideas coming from people they don't know. > >
