Hi Andrei,

Thanks for your reply.  Yeah, obviously it'll still be slower than with an
already-binary string. :-)  But I figured it's better than before, until
something better comes along...

Unless there were other plans to rewrite it, is there a way to easily (for
me! :-)) have it do all the conversion?  I've been thinking about the
different string-to-number functions (will send a separate e-mail)...  Is
there a reason the regular zend_strtod() code is so complicated?
zend_string_to_double(), for example, is really simple (and works the same I
assume, except for not handling negatives or leading whitespace).  Can
zend_u_strtod() be implemented with the same methods zend_string_to_double()
uses?


Thanks,
Matt


----- Original Message -----
From: "Andrei Zmievski"
Sent: Tuesday, August 01, 2006


> Yes. With your patch applied, the numeric unicode string to double
> conversion is about 100% slower than from binary strings. If this is
> acceptable we can commit the patch. Otherwise, we should port
> zend_strtod() to deal with unicode strings directly.
>
> -Andrei
>
> On Jul 31, 2006, at 1:58 AM, Matt W wrote:
>
> > Hi all,
> >
> > As I was working on upgrading the dec[bin|hex|oct] functions to convert
> > large doubles, I noticed how much slower things were when converting
> > Unicode
> > strings to double.  I found that converting the whole thing to string
> > and
> > using regular zend_strtod() was much faster.  Then I decided to try
> > modifying the u_strtod() function to do the same, but just on the
> > relevant
> > numeric portion.
> >
> > I don't know if I did everything right, but it seems to work fine with
> > my
> > limited testing.  (I was working from zend_u_strtol() and
> > zval_unicode_to_string_ex(). :-))  The function is now about *8 times*
> > faster, and nearly 20 times faster on a non-numeric string!  (I'm on
> > Windows.)
> >
> > diff: http://realplain.com/php/zend_u_strtod.diff
> >
> > Is this something that can be used?
> >
> >
> > Thanks,
> > Matt

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

Reply via email to