MUD-Dev
mailing list archive

Other Periods  | Other mailing lists  | Search  ]

Date:  [ Previous  | Next  ]      Thread:  [ Previous  | Next  ]      Index:  [ Author  | Date  | Thread  ]

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



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#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




Other Periods  | Other mailing lists  | Search  ]