RE: [PHP-DEV] RE: Improved zend_string API

2015-06-29 Thread François Laupretre
Hi, > De : François Laupretre [mailto:franc...@php.net] > Envoyé : mardi 30 juin 2015 03:08 > À : 'Dmitry Stogov' > Cc : 'Anatol Belski'; 'PHP Internals' > Objet : [PHP-DEV] RE: Improved zend_string API > > Hi Dmitry, > > I just com

[PHP-DEV] RE: Improved zend_string API

2015-06-29 Thread François Laupretre
Hi Dmitry, I just commited some additional changes, following your suggestions : - Renamed every ‘zend_string_xxx()’ functions to ‘ZSTR_’-prefixed uppercase names, - Defined compatibility macros for old names - Changed the rest of the code to use new ZSTR_ names - A special case for zend_string_

[PHP-DEV] Re: Improved zend_string API

2015-06-29 Thread Dmitry Stogov
Committed except of ZVAL_STR_INC/DEC_LEN() and some other unused macros. Thanks. Dmitry. On Mon, Jun 29, 2015 at 4:23 PM, François Laupretre wrote: > Hi, > > > > OK, I didn’t understand Dmitry’s comment on ‘aggressively’ using inline > functions but, thanks to your comment, I understand now. It

[PHP-DEV] RE: Improved zend_string API

2015-06-29 Thread François Laupretre
Hi, OK, I didn’t understand Dmitry’s comment on ‘aggressively’ using inline functions but, thanks to your comment, I understand now. It has nothing to do with performance. Using a function for ->val is useless, I agree, as it is read-only be nature. But using 2 functions for len provides re

[PHP-DEV] RE: Improved zend_string API

2015-06-26 Thread Anatol Belski
Hi, I’ve checked the patch and tested the build, both looks fine. Though I would go by the suggestion from Dmitry about the new inlined functions. At least VC produces same ASM, probably gcc would produce good results as well. However, to operate just on one struct member a function looks

[PHP-DEV] Re: Improved zend_string API

2015-06-26 Thread Dmitry Stogov
Hi Francois, >From the source code review, I don't see any problems. May be too aggressive usage of inline functions in zend_string implementation, but I hope, it shouldn't make any harm. I'll need to check, if C compilers are smart enough to produce good optimized code after inlining. In general