Jump to content
Registration disabled at the moment Read more... ×
Michaell

C++ compile times: Clang (bcc32c) vs. Borland (bcc32)

Recommended Posts

Posted (edited)

I'm currently using C++ Builder Athens 12.2 and switched from bcc32 to bcc32c. Following my finding regarding the huge compile time differences. All values are rounded (max. +/- 3 s) and measured several times.

CPU Ryzen 5 5600X:

  1. bcc32: 25 s, 1 CPU thread
  2. bcc32c: around 40 minutes, 1 CPU thread
  3. bcc32c: 170 s, 12 CPU threads

Due to this bad result I upgraded my CPU.

CPU Ryzen 9 5950X:

  1. bcc32: not measured
  2. bcc32c: 120 s, 12 CPU threads
  3. bcc32c: 80 s, 32 CPU threads

May be these information may help other users in view of compiler switch and or CPU switch.

 

Greetings!

Michaell

Edited by Michaell
1 value more exact documented

Share this post


Link to post

Thanks, I'm aware of the may be present performance gain of release 12.3. In case it is also for the not 64 bit compiler = bcc32c I will update this thread.

Share this post


Link to post

Are you using TwineCompile ? - for the 32 bit clang compiler this additional plug in (available FOC on getit) is virtually essential.

Share this post


Link to post
On 8/13/2025 at 1:01 PM, Roger Cigol said:

Are you using TwineCompile ? ...

Thanks for this information. No, I'm not using it. Its website tells it is an extra cost of 139 $ (no issue) may be I will have a look on it. FYI: getit is no option, I'm working offline.

Share this post


Link to post

Clang batch compilation is almost as good as Twine in my experience:

 

   Project Options - Building - C++ Compiler - Geneal compilation  - Enable batch Compilation

 

plus

 

   Project Options - Project Properties - General - Run C++ Compiler in a separate Process. 

 

I have number of subprocesses set to 28.

 

Also 

 

   Tools - Options - Compiling and Running - Background compilation

Share this post


Link to post
18 hours ago, David P said:

Clang batch compilation is almost as good as Twine in my experience:

Does this statement apply to Clang32 compiler ? I believe your statement to (in general) be the case for clang64 but am less sure it applies to clang32.

Share this post


Link to post
On 8/19/2025 at 9:54 AM, Roger Cigol said:

Does this statement apply to Clang32 compiler ? I believe your statement to (in general) be the case for clang64 but am less sure it applies to clang32.

Yes it does.  Our main project is a 32-bit Clang app and it compiles in the background, using 28 threads (on a PC with 32 logical processors).

 

In BCB2007, we used TC, but since using v10+ and changing to Clang, we have found the Clang compiler using the above settings to be on a par speedwise.

 

              image.thumb.png.9afe49fb7930e55ee0ba2c152721d9b6.png

 

This is compiling a 32-bit Clang application just using Clang Batch/background compiling.

  • Thanks 2

Share this post


Link to post

As my initial post tells, I'm already using 32 threads. I.e. as far as the experience of David P is generally valid I have no reason to try TwineCompile.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×