Little tipp - for speeding up the build process in QtCreator



  • I've heard a little trick:
    In QtCreator load your project, select the "Projects" button on the left. Build settings dialog is up. See Build Steps, select "Make:" Details. In Make arguments put a "-j".
    You'll see something like this: "Make: mingw32-make.exe -j in C:\Projects...yourproject..."
    This tells the make, that use ALL of the processor in a multiprocessor machine (my machine has 4 processor).
    In my machine the "Rebuild all" process is significantly speeder than before :)


  • Moderators

    Interesting. I do know and use -j but always specify number of cores myself. Does it detect HyperThreading "cores" as well?



  • [quote author="sierdzio" date="1352207485"]Does it detect HyperThreading "cores" as well?[/quote]

    Yes.


  • Moderators

    Hah, cool! Then I shall stop using custom core count at once :D



  • With 4 core i7 i use 16 jobs usually, but also specify -l10 to restrict new jobs if load average is more than 10.

    You should be careful with -j without argument. Atleast with GNU Make -j0 and -j without arguments means there is no limit for jobs.



  • Please be aware that parallel building can and will cause problems, above all on Windows (with mingw32-make), and it should be seen as somewhat experimental.

    For example building Qt5 using <code>-j</code> will result in a quite unstable build process, breaking for no apparent reason, mostly because make didn't get the build order right again.

    So if you are running into strange build problems try removing <code>-j</code>.

    And be warned that the rest of resource utilization works quite well; so your workstation might be rendered unusable during build - so depending on the size of your project your coffee consumption might dramatically increase ;-)



  • The "j" argument really work well. In my old netbook,compiling a symbian app used to take 10minutes. Now with desktop i5-4460,it only take 15second. Such a HUGE difference.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.