Regardless of the number of CPU cores set to use by TwineCompile, it appears on my systems that initially only a single unit is compiled simultaneously. Once compilation of this first unit completes, the actual requested number of cores is put to use.
Is this deliberate, optional and/or desirable?
Build process starts out with just 1 unit
Re: Build process starts out with just 1 unit
This is deliberate for any project that has been configured to use pre-compiled headers. The first unit is compiled by itself to generate the pre-compiled header and then subsequent units can use this pre-compiled header. If multiple files were initially compiled simultaneously, they would either be unable to use that pre-compiled header, or would cause it to be corrupted because it was generated by several units.
If your project does not use pre-compiled headers, you can turn them off in the compiler options, and TwineCompile will compile as many files as possible from the start.
If your project does not use pre-compiled headers, you can turn them off in the compiler options, and TwineCompile will compile as many files as possible from the start.
Jon
Re: Build process starts out with just 1 unit
That makes perfect sense, thanks for clearing it up!
Re: Build process starts out with just 1 unit
Even after setting the following project options, I'm still seeing the same behavior:
This is the same for all projects in my group project. Anything else I could be missing? (Maybe some #pragma smart header stuff?)
Code: Select all
- PCH Usage (Do not use)
- External types files (false)
- Enable smart cached precompiled headers (false)
- Cache precompiled headers (false)
Re: Build process starts out with just 1 unit
We're using the CLang compiler.
Re: Build process starts out with just 1 unit
I've made an update that will allow TwineCompile to determine if CLANG is being used without precompiled headers (unlike the classic compiler, there are no explicit flags for it).
Please download the following file and extract into the TwineCompile Program Files directory:
http://jomitech.com/downloads/mtbcc32.zip
Please download the following file and extract into the TwineCompile Program Files directory:
http://jomitech.com/downloads/mtbcc32.zip
Jon
Re: Build process starts out with just 1 unit
Hi Jon,
Thanks for that. I've done a bunch of builds with it, and I believe this works as expected. Each project now starts with multiple compiler invocations right away. I hope this will make it into an official update
Thanks for that. I've done a bunch of builds with it, and I believe this works as expected. Each project now starts with multiple compiler invocations right away. I hope this will make it into an official update
Re: Build process starts out with just 1 unit
Yes, it'll be part of the next release. Glad it worked for you.
Jon