[virtmach] switch vs dispatch table (was Your VM)

Thomas Fjellstrom virtmach@iecc.com
Tue, 29 May 2001 03:42:19 -0600

Thaddaeus Frogley wrote:
> > Many compilers will generate an indirect jump through a
> > table of pointers for a dense switch.  Generally, the
> > compiler can generate better code for this internally
> > than can be written in source code, so the switch version
> > is likely to be faster.
> Most compilers will generate a range check before the jump, where as a hand
> coded jump table can assume that the data is in range.  Of course, its very
> hard to say, as we haven't even mentioned what language this VM might be
> implemented in...

Personally I was thinking about C and gcc when I asked the question...

"Computer programmers don't byte, they nybble a bit."
Thomas Fjellstrom