[MUD-Dev] Question on c++ switch optimization, and parsers in general.
Ben Greear
greear at cyberhighway.net
Sun Feb 7 22:03:21 CET 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-archive
mailing list