Compling files with local options

TwineCompile - Cut C++Builder compile times by up to 50x!
Post Reply
Steven
Posts: 7
Joined: Mon Oct 19, 2009 6:02 am

Compling files with local options

Post by Steven »

Hi,

I have some units with local options that override the default project options. (Ex: for some units I don't need debug information). I select my unit in the Project manager --> Edit local options and disable debug information for the compiler.

When I try to compile my project using multiple threads, ALL the files with local options are compiles one by one (so only ONE thread is used). Also, the compile status windows says that the total number of files to compile is 1. After the first file with local options is compiled, it jumps to a total number of files: 2 and so on, until all the units with local options are compiled. When these are compiled, TC starts compiling the units that do not have local options. These units are correctly compiled (total number of files is correct and multiple threads are used).

I'm using RAD Studio 2010.
Could you please check why the units with local options are not compiled in multiple threads? And why the total number of files is incorrect?

Thanks, Steven
jomitech
Site Admin
Posts: 2175
Joined: Wed Oct 08, 2008 12:23 am

Re: Compling files with local options

Post by jomitech »

Basically what you are seeing is MSBuild being invoked separately for each file that has local options. This means that only one file is passed to TwineCompile, resulting in the file counts being wrong, and only 1 thread being used for the files.

We're looking into ways to process this differently, possibly by reading the MSBuild file directly.
Jon
Steven
Posts: 7
Joined: Mon Oct 19, 2009 6:02 am

Re: Compling files with local options

Post by Steven »

Hi Jon,

thanks for looking into it. I hope you find a solution soon. The reason why I want to use local file options is because I'm having major linker problems (out of memory errors) when linking with the incremental linker on. On the embarcadero forum I found a 'workaround' that says to enable debug information for only a few selected units. This would make that I do not have to perform a full link for every compile. Unfortunately, the time I win with the incremental linker is lost in compiling unit by unit... :(

Anyhow, if you have found a solution and you want me to beta-test... I'm all yours!
Thanks, Steven
jomitech
Site Admin
Posts: 2175
Joined: Wed Oct 08, 2008 12:23 am

Re: Compling files with local options

Post by jomitech »

Thanks, we'll definitely try to get you an early beta.
Jon
jomitech
Site Admin
Posts: 2175
Joined: Wed Oct 08, 2008 12:23 am

Re: Compling files with local options

Post by jomitech »

TwineCompile 3.3, released a month ago, contains the new local file options system. There is now no performance difference between a file with local options and any other files.
Jon
Post Reply