Also wanted to point out that everything mentioned in this thread so far is for dyno tuning. If you know someone local that can street tune it for you, they will usually charge $50-75 /hr and you usually meet some pretty cool people that do this kind of tuning.
What I prefer to do is street tune to get it close to optimal. Then have it dyno tuned to actually get official #'s for the setup. Then street tune it one more time to take actual driving conditions into account that a dyno just can't do.
Tuning is a process.