[MUD-Dev] Question on c++ switch optimization, and parsers in general.

Ben Greear greear at cyberhighway.net
Sun Feb 7 22:03:21 New Zealand Daylight Time 1999


Well, after the 400th person said my parse engine was an insult to
hackers everywhere (I was the first of those 400!!), I am re-writing it.

Basically, I'll have a bunch of classes hashed into an array
that will contain the keywords mapped to an enum.

Now, I get the enum, and then I need to call the various commands
that the enum maps to.

Currently, I'm using a huge (~400 cases) switch statement.

So, the question is:  Is that efficient?  Does the compiler
generate code that does better than a linear search down the
case statements?  If not, I can manually hack a sort of n-ary
tree performance into it, but I'd wrather not if I can help it.

Also, I'll be curious if anyone wants to spew forth their own ideas
on how to parse user's commands into callable methods.

Thanks,
Ben



--
Ben Greear (greear at cyberhighway.net)  http://www.primenet.com/~greear 
Author of ScryMUD:  mud.primenet.com 4444        (Released under GPL)
http://www.primenet.com/~greear/ScryMUD/scry.html




More information about the MUD-Dev mailing list