Don't invoke mxmlc every time -- that has to start up Java, and that's what's slow. There's a compile "shell" named fcsh that comes with the Flex toolkit that starts up a JVM once and lets you recompile without having to relload all the libraries.
Fcsh is indeed a lot faster than mxmlc. I've written a small shell script that stands in for fcsh and provides an interface like the standard mxml compiler (mxmlc) so that you can just call it (like you would call mxmlc) and have it return an exit status instead of dropping you into an interactive shell like fcsh does. It's called fcshctl: