Do not use clock to determine the speed, better use profiler... Compile your program with gcc-3.4 -g0 -march=k8 -O3 -fomit-frame-pointer -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -mfpmath=sse -pg Then run your program, after that make "gprof your_program" look where your code took a lot of time to execute (it might not be compiler problem). Arturas Moskvinas P.S.: second of all, gcc is not made for super fast code generation, it is not the main criterea (i think so), it is made to be stable, as much as possible bug free. And of course it is not very easy to handle so many microprocessor architectures. VC++ must handle only one architecture i386, and of course only for one operational system (they have more time to optimize things for such specific platforms)...