On Tue, 2014-10-21 at 13:52 +0400, Dmitry Stogov wrote:
> 
> 
> On Tue, Oct 21, 2014 at 1:25 PM, Joe Watkins <pthre...@pthreads.org>
> wrote:
>         On Tue, 2014-10-21 at 13:01 +0400, Dmitry Stogov wrote:
>         > Hi Joe,
>         >
>         >
>         > As an extension it looks fine.
>         >
>         > I assume, you don't propose to use UString objects in engine
>         and other
>         > extensions.
>         
>         I'm not proposing it now, no.
>         
>         > Unfortunately, it's yet another incomplete solution.
>         >
>         > It won't allow Unicode strings as array keys;
>         
>         The engine doesn't allow that, couldn't we find a way of using
>         objects
>         as array keys ?? It doesn't seem like a limitation of the
>         extension, to
>         me ;)
>         
>         > concatenation using "." (probably may be done),
>         
>         That's already done.
>         
>         > no auto-conversion from/to script/output encoding,
>         
>         That could be arranged.
>         
>         > no auto-conversion of strings coming from database
>         extensions, etc
>         
>         I'm not sure how important that is, it's not a big deal to
>         create a new
>         object, nor would it be a big deal for those extensions that
>         need to
>         always return unicode strings to do so.
>         >
>         > The "right" approach, would be extending zend_string with
>         "encoding"
>         > and then adopting near all functions working with
>         zend_string to take
>         > "encoding" into account. But, of course, this is going to
>         lead to much
>         > more complicated solution (with some slowdown).
>         
>         That seems a lot like bashing our head against a wall. We
>         tried to
>         introduce support everywhere and it fails. Do we really want
>         to step on
>         the performance gains introduced by recent changes by making
>         all strings
>         unicode ?
> 
> 
> Yeah :)

You must like punishment :D
> 
> I'm not sure, if it should be done, and I don't like to work on it in
> the nearest future, but zend_string approach should be easier to
> implement than separate IS_UNICODE + IS_STRING + IS_BINARY types in
> PHP6.
> 
The implementation might be simpler, but the effect the same I think.

I can be wrong, but nothing has so drastically changed that will allow
us to absorb the kind of impact I think you are talking about.

>  
> 
>         That doesn't seem like a sensible thing to want, at least
>         right now.
>         
>         Having UString doesn't stop us approaching the problem
>         differently in
>         the future, but it would have to be a very different future to
>         even make
>         sense to me.
> 
> 
> Agree.
>  
> 
>         
>         > If we don't care about complete solution, UString proposal
>         may make
>         > sense at lest as a faster replacement of ext/mbstring.
>         
>         As the RFC states, we are only approaching one problem, the
>         problem that
>         ext/mbstring is not a good API.
> 
> 
> Then, it's fine.
> 
> One note regarding implementation: why do you use C++ for ustring.cpp?
> I understand it's necessary for ICU backend, but if in the future you
> might switch to another backend (and it may not require C++) why to
> use C++ for PHP extension part? 

Totally possible that we'll have to change, or that we should change. A
few people have said they would like to write a backend so we'll see
what comes in and where that leads us.


> 
> Thanks. Dmitry.
>  
> 
>         >
>         > Thanks. Dmitry.
>         
>         
>         > On Tue, Oct 21, 2014 at 11:06 AM, Joe Watkins
>         <pthre...@pthreads.org>
>         > wrote:
>         >         Morning internalz,
>         >
>         >                 https://wiki.php.net/rfc/ustring
>         >
>         >                 This is the result of work done by a few of
>         us, we
>         >         won't be opening any
>         >         vote in a fortnight. We have a long time before 7,
>         there is no
>         >         rush
>         >         whatever.
>         >
>         >                 Now seems like a good time to start the
>         conversation
>         >         so we can hash out
>         >         the details, or get on with other things ;)
>         >
>         >         Cheers
>         >         Joe
>         >
>         >
>         >         --
>         >         PHP Internals - PHP Runtime Development Mailing List
>         >         To unsubscribe, visit: http://www.php.net/unsub.php
>         
>         Cheers
>         Joe


Cheers
Joe


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to