One of the posts that went missing in this thread (I can't remember who wrote it) pointed to this blog:
Eval is Evil
I read through that and have made some modifications to some of my code that was using eval extensively to test for the existence of a list of variables. It now runs in 1/5th of the time! It was actually slowing the whole program down quite a bit, as this list has grown slowly from about 20 variables to over 500.
So thanks to whoever it was who posted it previously.