Re: g_strjoinv() is very slow
- From: Sean Middleditch <sean middleditch iname com>
- To: David Odin <David Odin bigfoot com>
- Cc: Raja R Harinath <harinath cs umn edu>, Havoc Pennington <hp redhat com>, gtk-devel-list gnome org
- Subject: Re: g_strjoinv() is very slow
- Date: Sun, 24 Sep 2000 15:48:19 -0400
David Odin wrote:
> OK. Thanks for all your comments.
> I've attached a new version which takes all your remarks in account.
>
OK, just to point something out, all those for (int i = 1; array[i] != NULL;
i++) and whatnot's in the for loops should be something like
for (char *c = str + 1; *c != 0; c ++)
That way, you don't have to do an index lookup on every iteration... it'll
speed the code up a lot (one less multiplication per iteration).
That's how functions like these are coded in the various incarnations of
libc, too. Never use an index value to an array when a pointer to the value
is usable. If you need to find the actual index value from the start of an
array, you can use (c - str), which is one subtraction per loop, which is
still faster than a multiplication.
I don't know if any of this makes any difference, but seeing how the thread
subject is complaining about speed issues, I thought I might mention this.
Being a game programmer, I'm rather used to doing everything possible for
even the slightest speed increase... ~,^
Sean, Etc.
> Best regards,
>
> DindinX
>
> --
> David Odin bigfoot com
>
> If Bill Gate$ had a nickel for every time window$ crashed...
> ... oh, wait, he does...
>
>
> ------------------------------------------------------------------------
>
> diff.glibName: diff.glib
> Type: Plain Text (text/plain)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]