1 person found this helpful
Each compilation is single-threaded. When you run a serial make, you get one compilation at a time.
The way to improve throughput is to use a parallel make that can run more than one task simultaneously. I am not familiar with cmake. I took a quick look at the documentation at cmake.org, but could not tell whether cmake offers a parallel make option. Both GNU gmake and the dmake that comes with Studio do. (Studio dmake is the same as Solaris make, with extensions for parallel and distributed job management.) Assuming there is enough memory, I use a rule of thumb of setting the max parallel jobs at 1 per core. You can find out the number of cores on Solaris this way:
/usr/sbin/psrinfo | grep -c on-line
Setting up the makefile for parallel make requires some attention to be sure you don't try to build parts out of sequence. Either all dependencies must be made explicit, or you need a way to say "wait for A to be done before starting B". (Both gmake and dmake have this feature.) I don't know whether mysql makefiles are ready for parallel make, but you can probably find out at mysql.org, along with whether it works with dmake or gmake. (Each make variation has some usually minor incompatibilities with the others.)
Message was edited by: Steve_Clamage
Thank you very much. Very helpful answer.
I wish there were tutorials on this type of thing before I start spending money on a consultant to teach me.