Ravi Shankar Nair wrote On 02/06/06 10:19,:
> Dear all,
>
[quoted text clipped - 5 lines]
> anybody provide us a link on such a String class in C or C++, so that we can
> make a faster indexOf ? Thanks a million for your time.
It's not clear which of the four different indexOf()
methods you're using. Still, no matter which it is, it
is probably doing its job nearly as fast as that job can
be done. You might get a marginally faster something-or-
other in C or C++, but it's unlikely that you'll get a
dramatic speedup. Meanwhile, you'd be giving up Java's
support of international character sets (less than perfect,
but miles ahead of C and C++), Java's protection against
out-of-range arguments (especially in C), and so on.
You're likely to do better not by looking for a faster
indexOf(), but by considering whether indexOf() is being
used wisely. Is the program over-using indexOf() when it
really ought to be using something else? Is it searching
for a one-character String instead of for a single char?
Is it always searching from the beginning of the even when
it's known that the target doesn't appear among the first
thousand characters? Is it searching Strings that are a
hundred megabytes in length? Is indexOf() even the right
tool -- ought you to be using regular expressions, say?
It's been said that the fastest I/O operation is the
one you don't perform. "I/O operation" is just a special
case of a more general observation, of course. I suggest
you re-examine your reasons for using indexOf() so heavily,
and consider whether you ought to be using it differently
or using something else altogether.

Signature
Eric.Sosman@sun.com
Ranganath Kini - 06 Feb 2006 16:25 GMT
Joe Attardi - 06 Feb 2006 21:11 GMT
Slightly off-topic, but hey Eric, don't know if you remember me but I
used to work in your group at Sun as an intern... good to see a
familiar face out here in Usenet!
Joe Attardi
Eric Sosman - 06 Feb 2006 21:45 GMT
Joe Attardi wrote On 02/06/06 16:11,:
> Slightly off-topic, but hey Eric, don't know if you remember me but I
> used to work in your group at Sun as an intern... good to see a
> familiar face out here in Usenet!
Sorta thought you might be that Joe Attardi.
But this brings up a problem: If somebody out there
in Usenet actually knows me, my carefully-nurtured
reputation for sagacity is likely to be exploded by
the truth ...

Signature
Eric.Sosman@sun.com
Joe Attardi - 06 Feb 2006 22:03 GMT
> Sorta thought you might be that Joe Attardi.
> But this brings up a problem: If somebody out there
> in Usenet actually knows me, my carefully-nurtured
> reputation for sagacity is likely to be exploded by
> the truth ...
Don't worry. I won't tell. :)
> Dear all,
>
[quoted text clipped - 5 lines]
> anybody provide us a link on such a String class in C or C++, so that we can
> make a faster indexOf ? Thanks a million for your time.
The code for indexOf(String str) probably compiles very well. Also, since
String is a final class, it's probably actually implemented by hand by the
writer of the JVM. You are highly unlikely to beat it.
Alun Harford