Most compiler (I know gcc and Visual C do) will optimize strlen
("static_string").
On 21-Jul-06, at 9:04 AM, Matt W wrote:
Hi Richard,
I think I've seen those instances that you're referring to. By
fixed length
string I assume you mean hard-coded "string_key". Yeah, I would
think those
should use add_assoc_*_ex() since the length is known (sizeof
("string_key")
etc.) to save unnecessary strlen() calls.
Unless compilers optimize the strlen("string_key") + 1 to a
constant from
the add_assoc_*() macro. But I wouldn't think that's the case...? :-/
Matt
----- Original Message -----
From: "Richard Quadling"
Sent: Friday, July 21, 2006
Hi,
There are 46 uses of add_assoc_zval() in the CVS. Many are with
fixed
length strings for the key. Should the others all be using
add_assoc_zval_ex() ?
On 21/07/06, Matt W <[EMAIL PROTECTED]> wrote:
Hi,
I don't know if array_combine() was intentionally made binary-key
unsafe,
but it seems wrong and inconsistent since binary keys work
everywhere
else I
can think of -- including array_flip() and the new array_fill_keys
().
And
updating it is a bit of an optimization by eliminating strlen()
calls.
:-)
I also changed the error message to be more grammatically-correct
and
fixed
some typos in the description.
http://www.realplain.com/php/array_combine_binkey.diff
http://www.realplain.com/php/array_combine_binkey_5_2.diff
Thanks,
Matt
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
Ilia Alshanetsky