This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Hashing of "switch/case" selections
- To: Andy Walker <jawalker at stl dot quik dot com>
- Subject: Re: Hashing of "switch/case" selections
- From: "Zack Weinberg" <zackw at stanford dot edu>
- Date: Thu, 4 Jan 2001 01:39:10 -0800
- Cc: GCC general mailing list <gcc at gcc dot gnu dot org>
- References: <3A4AC4FC.35E70BEE@stl.quik.com>
On Wed, Dec 27, 2000 at 10:43:40PM -0600, Andy Walker wrote:
[much interesting stuff]
> My experience as a programmer is that programs are almost never written
> with switches to more than a few hundred cases. I personally have never
> seen one. More than that, and the programmer finds a more efficient,
> more readable, more maintainable solution, and he can do so because he
> has a deep knowledge of the problem that is unavailable to the
> compiler. My seat-of-pants estimate is that 400 cases is a good, maybe
> even high, maximum for Hash evaluations. A program containing a switch
> statement with more than 400 cases in it probably has enough other
> severe design problems that it will never be worth running anyway.
This is true in my experience for code written by humans, but not
necessarily for machine-generated code. Take a look at insn-attrtab.c
in your GCC build directory, or at cp/parse.c in the source tree.
zw