[omniORB] omniORB performance
Zeljko Rajic
Zeljko.Rajic@brokat.com
Wed, 16 Feb 2000 14:48:44 +0100
David Riddoch wrote:
> The point about operation names is that string compares are pretty darn
> quick. In most cases you can determine that two names a different just by
> looking at the first character -- in most situations you are only going to
> go through the whole operation name once. You have to go through the
> whole operation name at least once with hashing too (and at least twice if
> you can't guarentee a perfect hash function), plus the hash lookup.
So does this mean that omniORB uses linear search (with strcmp) to find
objects and operations?
Asuming there are 1000 (or more) objects active (which shouldn't be
esoteric), that would mean that it is necessary to make 500 strcmp calls
in mean. Doesn't the hashing overhead amortize in such cases?
> Except for really esoteric cases it turns out that it is not worth the
> effort. I suspect the esoteric cases are only exercised in benchmarks
> (such as really long operation names that only differ right at the end).
Yes, I agree with you concerning a single strcmp call. But isn't it a
question how often a strcmp needs to be called to find the object? At
least I guess so.
Zeljko