Just a very short blog post from me as I would like to share you some information I recently discovered. Just a quick update to all of you, I just got a day job as a software engineer a few months back and my company uses Microsoft Visual Studio as the tool to develop in house software for a machine (that’s build in this company).

 

 

As you all have known, I’m a linux lover and also a Qt lover (ambassador). I love to use Linux and code using Qt framework. Therefore, I struggled hard during the first 2 months working with MS Visual C++. Although I’m still struggling a lot now, but the situation is slightly better because I’ve started to shift some new code towards Qt.

Okay, enough of the mumbling part, here’s the content, when we build a software in Linux, let’s say we’ve created a Qt project and written a .pro file, normally we will use qmake xxx.pro to generate the Makefile and follow by make to build the project. If you have a good machine for building the code and you would like to build the project faster, you can utilize the parallel build technology of ‘make’ by simply replace the make with make -j 4 [1]. I have a first generation I3 processor with dual core and 4 threads and the building time is cut at least 50% with the use of parallel building with the -j option.

You are a little bit unfortunate if you would like to implement the same technology when building your Visual project in MS Windows (which is a sucks OS by the way). As far as i know, “nmake” do not support concurrent build of source files. But, don’t be so sad my friend, one of our great friend, the Qt project has a tool called “jom” [2] that is the clone of “nmake” but support the parallel build technology of “make”! Good news! So now you can build your MS Visual project by first generating a Makefile, and issue jom.exe -j 4 /f Makefile.Release for building the release executable using 4 concurrent thread! Amazing isn’t it.

Enough for today, as today is the last day of year 2012, I would like to take the opportunity to wish you all happy new year and have great years ahead. 🙂

 

  1. http://www.gnu.org/software/make/manual/html_node/Parallel.html
  2. http://qt-project.org/wiki/jom