On 14 October 2014 16:09, Aleksey Tulinov <aleksey.tuli...@gmail.com> wrote:
> On 14/10/14 14:00, Chris Wright wrote:
>
> Chris,
>
>>> Latter is referring to difficulties like "excess memory usage" and
>>> "rewrite
>>> the language". I'm developing an open-source Unicode implementation
>>> library
>>> (nunicode), and it doesn't consume any heap at all, it also works on
>>> native
>>> binary strings, as PHP does. Hence i thinks that maybe it could help with
>>> at
>>> least these two problems.
>>
>>
>> On the face of it, this implies a rather large performance hit and a
>> tendency to overflow the stack much more readily, do you have any
>> details on these elements?
>>
>
> I can't really tell if hit is going to be large before understanding what
> final result would be, at least approximately.
>
> I can tell that internal complexity of nunicode is O(1) everywhere. I'm
> comparing performance to ICU and nunicode mostly outperforms it. I've
> compiled some numbers here:
> https://bitbucket.org/alekseyt/nunicode#markdown-header-performance-considerations

Great, thanks for this

> Regarding stack, i'm not sure if get the point. As far as i'm concerned,
> library does not have recursive calls, it does not have internal
> representation and does not allocate on stack aggressively. Everything works
> on immutable binary strings, stack will be used mostly for function calls.
>
> But honestly, i feel like i'm not answering your question at all. Could you
> possibly clarify it?

My apologies, this was a case of typing before thinking properly. I
was envisaging very large stack frames due to large char arrays being
allocated on the stack but when I actually apply my brain to what you
are doing I realise that this isn't going to be the case.

Carry on.

>>> I would appreciate if someone would point me to a good read or explain
>>> collective opinion on this topic. I'm basically interested in the
>>> following
>>> questions:
>>
>>
>> The only additional thing I can find quickly is something Pierre put
>> together earlier this year, when PHP6 (now 7) discussions were
>> started:
>> https://wiki.php.net/ideas/php6/unicode
>>
>
> Thank you, this is exactly what i was looking for.
>
> I would appreciate if someone would comment on the following:
>
>> Some of the keys point we need to take care of are:
>>
>> 1) UTF-8 storage
>> 2) UTF-8 support for almost (if not all) existing string APIs
>> 3) Performance
>>
>> As of today, I did not find any library covering at least two of these key
>> points.
>
> I think i could claim that nunicode is covering at least two key points,
> maybe all of them, but i'm not sure about point 2). API do include
> operations on strings, but this API is simply following standard string
> functions (UTF equivalents of strcoll(), strchr(), strstr(), etc). Does that
> sound good or not?

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

Reply via email to