Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ? SOLVED


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 12 - Last Post: Jan 6, 2017 6:50 AM Last Post By: Alex Belo
Brett Wilton

Posts: 45
Registered: 10/1/11
BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ? SOLVED  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 24, 2016 5:15 PM
I have an application that I rebuilt from XE6 to Berlin 10.1 and now updated to 10.1 Up 1.

Compile speed using BCC32 with 8.4 MLOC is 1 min 42.8 sec.

Compile speed using BCC32C is 11 min 2.4 sec.

This is roughly 6.5 X slower than BCC32, just super frustrating.

Has anyone got some methods to improve this ?

I'm using a pre-compiled header for both compiles on a VM with I7 using 2 cores and 5G Ram on SSD.

[Edited to new times since I hadn't previously completed the bcc32c compile]

Edited by: Brett Wilton on Sep 24, 2016 9:46 PM

Edited by: Brett Wilton on Sep 29, 2016 4:08 PM
Petr Vykouk

Posts: 42
Registered: 6/4/00
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 24, 2016 11:26 PM   in response to: Brett Wilton in response to: Brett Wilton
Brett Wilton wrote:
I have an application that I rebuilt from XE6 to Berlin 10.1 and now updated to 10.1 Up 1.

Compile speed using BCC32 with 8.4 MLOC is 1 min 42.8 sec.

Compile speed using BCC32C is 11 min 2.4 sec.

This is roughly 6.5 X slower than BCC32, just super frustrating.

Has anyone got some methods to improve this ?

I'm using a pre-compiled header for both compiles on a VM with I7 using 2 cores and 5G Ram on SSD.

[Edited to new times since I hadn't previously completed the bcc32c compile]

Edited by: Brett Wilton on Sep 24, 2016 9:46 PM

Try TwineCompile Trial...
Brett Wilton

Posts: 45
Registered: 10/1/11
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 25, 2016 4:30 PM   in response to: Petr Vykouk in response to: Petr Vykouk
Try TwineCompile Trial...

Thanks for the suggestion Petr, certainly that is an option that I wasn't aware of.

In the same vain I was just made aware of since Seattle we have parallel compilations available as well.

http://docwiki.embarcadero.com/RADStudio/Seattle/en/Clang-enhanced_C%2B%2B_Compilers

However this just covers over the TRULY POOR performance of Clang.

I'll added my new stats with this shortly
Mike Versteeg

Posts: 118
Registered: 9/16/07
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 26, 2016 3:56 AM   in response to: Brett Wilton in response to: Brett Wilton
Brett Wilton wrote:
In the same vain I was just made aware of since Seattle we have parallel compilations available as well.

http://docwiki.embarcadero.com/RADStudio/Seattle/en/Clang-enhanced_C%2B%2B_Compilers

Interesting. Speeds up my compilation by 4. However there is no useful feedback (IDE seems to hang) and I get

[bcc64 Warning] ignoring option '-o' when performing a parallel compilation

I'm using 64 bit btw.

Edited by: Mike Versteeg on Sep 26, 2016 3:56 AM
Brett Wilton

Posts: 45
Registered: 10/1/11
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 26, 2016 2:26 PM   in response to: Mike Versteeg in response to: Mike Versteeg
Interesting. Speeds up my compilation by 4. However there is no useful feedback (IDE seems to hang) and I get
[bcc64 Warning] ignoring option '-o' when performing a parallel compilation

I'm using 64 bit btw.

Yes it seems when using Parallel compiling the Compiler dialog stays at zero and zero. No update to information.

However you should see the Warnings / Errors in the messages pane.

You'll need to investigate the -o option what setting that refers to, I'm not sure off hand as only testing bcc32 and bcc32c at present.
Brett Wilton

Posts: 45
Registered: 10/1/11
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 25, 2016 10:48 PM   in response to: Brett Wilton in response to: Brett Wilton
Ok after enabling parallel processing, essentially throwing more CPU's and horse power I get for BCC32C.

1 Core 11 min 2.4 sec
2 Cores 3 min 2.2 sec
3 Cores 2 min 33.9 sec
4 Cores 2 min 32.4 sec

So looks like the law of diminishing returns !

BCC32 maintains around 1 min 35 seconds regardless of cores. Crazy.
Petr Vykouk

Posts: 42
Registered: 6/4/00
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 26, 2016 5:27 AM   in response to: Brett Wilton in response to: Brett Wilton
Brett Wilton wrote:
Ok after enabling parallel processing, essentially throwing more CPU's and horse power I get for BCC32C.

1 Core 11 min 2.4 sec
2 Cores 3 min 2.2 sec
3 Cores 2 min 33.9 sec
4 Cores 2 min 32.4 sec

So looks like the law of diminishing returns !

BCC32 maintains around 1 min 35 seconds regardless of cores. Crazy.

Hi Brett,

speed is not the only problem, another problem is debugging under bcc32c. De facto unusable.

Edited by: Petr Vykouk on Sep 26, 2016 5:29 AM
Brett Wilton

Posts: 45
Registered: 10/1/11
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ?  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 26, 2016 2:28 PM   in response to: Petr Vykouk in response to: Petr Vykouk
speed is not the only problem, another problem is debugging under bcc32c. De facto unusable.

Yes this I have read but not had the privileged of trying yet.

I have to admit I have been frustrated with even bcc32 debug performance.
Brett Wilton

Posts: 45
Registered: 10/1/11
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ? SOLVED  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 29, 2016 4:11 PM   in response to: Brett Wilton in response to: Brett Wilton
Parallel compilation seems to be working for bcc32c.

Win10 I7 3930K with SSD can compile 8.3 MLOC in 28.6 seconds.

For my slower I7 2.2 Mhz CPU with SSD I'm down to 2 min 27 seconds.

So still slower than 1 core bcc32 with compile time of 1 min 30 seconds but more workable at least.
Guido Niewerth

Posts: 2
Registered: 8/30/07
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ? SOLVED  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 4, 2017 2:51 AM   in response to: Brett Wilton in response to: Brett Wilton
Can someone please summarize which settings speed up bcc32c compilation for Berlin RAD Studio 10.1 Update 2?

I tried these settings without any speed gain at all. Test case is a static library containing ~150 cpp files, compilation time is always about 3:30, no matter which combination of settings I use.

1) built-in parallel compilation
Checked Project options->Project settings->Run C++ compiler in a separate process
Set number of parallel subprocesses to "4" (Number of cores of my CPU)

=> BDS spawns multiple bcc32c processes, but only one of them uses a CPU core (CPU usage 25%), the others seem to be idle (0% CPU usage)

2) Pass "--jobs=0" to bcc32c compiler
Set Project options->C++ options->Other options->Additional options to pass to the compiler to "--jobs=0"

=> BDS spawns multiple bcc32c processes, but only one of them uses a CPU core (CPU usage 25%), the others seem to be idle (0% CPU usage)
=> -o Flag will be ignored warning for each source file

3) Precompiled Header
Added a PCH.h file to the project
Checked "Use for precompiling" for the PCH.h file
Added several header includes to the PCH.h file
Added #pragma hdrstop to the PCH.h file

=> bcc32c creates a PCH.pch file (size about 4MB) in the output folder
=> bcc32c call includes --include-pch PCH.pch option, so the PCH.pch file seems to be used by the compiler

Regards,
Guido
Johannes Weinert

Posts: 90
Registered: 7/19/02
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ? SOLVED  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 5, 2017 12:26 AM   in response to: Guido Niewerth in response to: Guido Niewerth
Guido,

unfortunately I do not have a direct answer to your question.

But as the build-in parallel compilation feature of the C++Builder is
extremely limited (which is really a pity) I recommend that you give
TwineCompile
<http://www.jomitech.com/twine.php>
a try.

There is a trial version available. I think the price is reasonable. We
use it for several years now and we do not want to miss it, especially
for bcc32c.

With best regards

Hans

Am 04.01.2017 um 11:51 schrieb Guido Niewerth:
Can someone please summarize which settings speed up bcc32c compilation for Berlin RAD Studio 10.1 Update 2?
Guido Niewerth

Posts: 2
Registered: 8/30/07
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ? SOLVED  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 6, 2017 6:26 AM   in response to: Johannes Weinert in response to: Johannes Weinert
Thanks for your answer Hans,

I tried TwineCompile and I am overwhelmed by its power, it speeds up compilation time insanely.
We´ve got a project with about 600 classes (100 of them are forms) and bcc32c took 2:30 hours (!) to compile it. Thanks to TwineCompile compilation time dropped to 14 minutes :O

Shame on Embarcadero.
Alex Belo

Posts: 626
Registered: 10/8/06
Re: BCC32C Berlin 10.1 Up1 Compile speed 6.5X SLOWER ? SOLVED  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Jan 6, 2017 6:50 AM   in response to: Guido Niewerth in response to: Guido Niewerth
Guido Niewerth wrote:

Shame on Embarcadero.

They simply encourage 3-d party business.

;-)

--
Alex

Edited by: Alex Belo on Jan 6, 2017 8:50 PM
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02