This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C++: Why do we nreverse CLASSTYPE_TAGS
On 24 Mar 2003 13:02:26 -0800, Mark Mitchell <mark at codesourcery dot com> wrote:
> On Mon, 2003-03-24 at 11:56, Matt Austern wrote:
>> On Monday, March 24, 2003, at 11:21 AM, Mark Mitchell wrote:
>>
>> >> OK, I'll experiment with that approach. What threasold would you put
>> >> for "lots"?
>> >
>> > I dunno. Probably 10 or so, to start. With fewer than that, hashing
>> > can't possibly be a win.
>>
>> How expensive is the hash function? Unless it's pretty extreme, I'd be
>> surprised if you needed to get all the way to 10 to get a win.
>
> Well, it's a hash *function*; you get to make an extra function call.
>
> As opposed to roughly:
>
> for (x = TYPE_FIELDS (t); x; x = TREE_CHAIN (x))
> if (DECL_NAME (x) == name)
> break;
Something that seems to have been missed in this discussion is that we
don't currently do a linear search for field lookups. We do a binary
search, which should be plenty fast.
Jason