Performance tweaking is fun!
So far my biggest bottleneck is in checking for frequency and session capping. It drags down performance to about 20% of what it can do otherwise. I'm not surprised, really, because it's checking user data against the entire impression table. I'm not sure how I'm going to overcome that. I could do something in-memory for the session tracking, but then I couldn't use it in a farm. The overall frequency capping has to be in one place. Regardless, there's no reason in either case to have to do that count every time. I'll have to think about a faster way to profile users.
I like tweaking stuff and even refactoring big parts of an app to work faster. That explains why I briefly got addicted to overclocking my computer (before I realized that I was already getting framerates higher than my monitor could display in Doom 3).