I use MinGW/gcc with 5 compile processes on a quadcore, which works just fine and is the sweet spot for my system. This leaves about 10-12% of idle CPU time, because writing out object files starts making the build process I/O bound.
What does not work, funnily, is compiling makefiles with -j 5, although make has been supporting this for much, much longer and should be much, much more mature than Code::Blocks. However, make regularly messes up with several processes, whenever it has to prepare a file that's used later.