FWIW, some benchmarks say GraphicsMagick is faster than ImageMagick. http://www.compsci.wm.edu/SciClone/documentation/software/gr...
I suggest actually timing some of this stuff before writing off the idea. If an image can be processed in 1 second, and you can parallelize it to 4 cores, some quick and dirty (and probably useless) math says 2 million images could be done in just under 6 days. I don't think that's too shabby for 2 million images.