The default android emulator is ridiculously slow and resource hungry, which makes it an impractical solution.
How can I speed up the default emulator?
It's possible to run Android in a virtual machine - I've done it using the Android x86 port (http://www.android-x86.org/). You can download ISOs that can be loaded up into any decent VM software (I use VMWare on my Mac to do it).
Performance is, as you'd expect, very good. Not technically emulation or simulation, since you're actually running Android, but it's the fastest way to run Android on a PC*.
I'm not entirely convinced it's a suitable environment for development - I've actually used it for running large screen versions of apps on non-standard hardware (1080p touchscreens, etc).
At the very least, I think it's the best solution to your question: you can compile Android code, load it into the virtual machine, and run it at normal speed.
*Short of actually booting into it...
Update: Google are now providing Android emulator images that add GPU and native x86 support, so a lot of this advice is hopefully now moot!.