[PHP-DEV] Re: Use zend_string* for op_array-arg_info[].name and class_name

2014-11-24 Thread Nikita Popov
On Mon, Nov 17, 2014 at 10:25 AM, Dmitry Stogov dmi...@zend.com wrote: Hi, Please review the patch https://gist.github.com/dstogov/47a39aff37f0a6441ea0 Thanks. Dmitry. Hi Dmitry, sorry for late reply. The problem we're trying to solve here is lack of ability to create a zend_string at

[PHP-DEV] Re: Use zend_string* for op_array-arg_info[].name and class_name

2014-11-24 Thread Dmitry Stogov
Hi Nikita, Thanks for review. I already thought about both approaches and failed as well (the second also doesn't work with C++). The proposed patch doesn't complicate engine a lot (may be only the inheritance code), but I afraid about problems in some edge cases. Thanks. Dmitry. On Mon, Nov

Re: [PHP-DEV] Re: Use zend_string* for op_array-arg_info[].name and class_name

2014-11-18 Thread Dmitry Stogov
Of course, it would be great to always use zend_string, but only arg_info duplication (without char - zend_string) would add ~90KB on 32-bit system and ~150KB on 64-bit system per process. So I expect 300-500KB wasted per process. Actually, only inheritance and reflection code was complicated by

[PHP-DEV] Re: Use zend_string* for op_array-arg_info[].name and class_name

2014-11-17 Thread Xinchen Hui
Hey: On Mon, Nov 17, 2014 at 5:25 PM, Dmitry Stogov dmi...@zend.com wrote: Hi, Please review the patch https://gist.github.com/dstogov/47a39aff37f0a6441ea0 I am not sure, why can't we build a zend_string arg-name from char * while doing register internal functions? then we can have the

[PHP-DEV] Re: Use zend_string* for op_array-arg_info[].name and class_name

2014-11-17 Thread Dmitry Stogov
On Tue, Nov 18, 2014 at 6:01 AM, Xinchen Hui xinche...@zend.com wrote: Hey: On Mon, Nov 17, 2014 at 5:25 PM, Dmitry Stogov dmi...@zend.com wrote: Hi, Please review the patch https://gist.github.com/dstogov/47a39aff37f0a6441ea0 I am not sure, why can't we build a zend_string arg-name

[PHP-DEV] Re: Use zend_string* for op_array-arg_info[].name and class_name

2014-11-17 Thread Xinchen Hui
Sent from my iPhone On Nov 18, 2014, at 12:34 PM, Dmitry Stogov dmi...@zend.com wrote: On Tue, Nov 18, 2014 at 6:01 AM, Xinchen Hui xinche...@zend.com wrote: Hey: On Mon, Nov 17, 2014 at 5:25 PM, Dmitry Stogov dmi...@zend.com wrote: Hi, Please review the patch

[PHP-DEV] Re: Use zend_string* for op_array-arg_info[].name and class_name

2014-11-17 Thread Dmitry Stogov
On Tue, Nov 18, 2014 at 7:49 AM, Xinchen Hui larue...@gmail.com wrote: Sent from my iPhone On Nov 18, 2014, at 12:34 PM, Dmitry Stogov dmi...@zend.com wrote: On Tue, Nov 18, 2014 at 6:01 AM, Xinchen Hui xinche...@zend.com wrote: Hey: On Mon, Nov 17, 2014 at 5:25 PM, Dmitry Stogov

Re: [PHP-DEV] Re: Use zend_string* for op_array-arg_info[].name and class_name

2014-11-17 Thread Stanislav Malyshev
Hi! we only need do it in master process, and mark as interned(with hash precalculated), no write will be happened, so thanks to COW on fork, we won't need lots of extra memory. It's not true for Windows. On Linux we would copy arg_info from shared read-only segment into process heap