Add Ons - DevSource
DevSource: Microsoft Developer Resource DevSource Home Sponsored by Microsoft Home Add Ons Architecture Languages Techniques Using VS Forums
Home arrow Add Ons arrow Page 2 - TwineCompiler Speeds Up C++ Builds
TwineCompiler Speeds Up C++ Builds
By Danny Kalev

Rate This Article: Add This Article To:

TwineCompiler Speeds Up C++ Builds - ' Speeding Up C'
( Page 2 of 3 )

++">

Forget all the hype. According to Microsoft's internal surveys, C++ is the most popular programming language "after HTML and JavaScript." HTML and JavaScript aren't exactly general-purpose compiled languages, so C/C++, in 2006, is still in the lead.

What makes C++ so popular today, in spite of its younger and seemingly sexier rivals? Performance is certainly a crucial criterion. Top-notch optimizers combined with the latest template metaprogramming techniques enable a C++ application to finish executing before the latest JVM/CLR is even loaded into RAM.

ADVERTISEMENT

Yet, one area is left wanting: compilation speed. Roughly speaking, the faster a C++ app gets, the longer it takes to compile. In large scale projects, a full build can take hours; as the project advances, the long build times become critical.

Several compilation boosting technologies are now targeting this problem, including JomiTech's TwineCompiler 2.0.6. TwineCompiler is a C++ compiler wrapper that decreases compile times on single processor, multiprocessor and multicore machines. The current 2.0.6 version is designed for use with Borland C++ Builder 4-6 or Borland Developer Studio 2006. JomiTech says it will support Microsoft's compilers and IDEs shortly. Unlike other products that distribute compilation across different computers connected to the same local network (Xoreax's IncrediBuild 2.60 for instance), TwineCompiler targets a single computer.

During the painless installation process, TwineCompiler automatically detects the IDEs and compilers installed on your computer. I have both Borland C++ BuilderX and C++ Builder 4.0. I keep good old C++ Builder 4.0 for compatibility tests, while using BuilderX as a reference compiler (along with Microsoft Visual Studio 2005).

TwineCompiler detected Borland C++ Builder 4.0 and added itself to the Tools menu. To use TwineCompiler with C++ BuilderX, you need to enable it explicitly by adding Project -> Build Options Explorer... in the "set build tool set command" dialog box, and replace bcc32 with mtbcc32 (see fig 1).

After the installation, a new option ("TwineCompiler Options...") appears in the Tools menu (see fig 2). TwineCompiler automatically selects the most efficient options it deems appropriate for your system, but you can alter the settings easily if you disagree. For instance, you can force background compilation or automatic cleanup of cached files before every compilation session. In addition to the new option under the Tools menu, TwineCompiler also installs an icon on the system tray.

Tip: You can disable TwineCompiler temporarily by unchecking TwineCompiler in Components -> Install Packages(see fig. 3).

My firewall warned me of an alleged attempt to contact the Internet; this turned out to be a false alarm. JomiTech's tech support assured me that the two components installed (the IDE add-on and the executor on the system tray) use TCP/IP to communicate with one another; that led the firewall software to suspect that they were trying to access a remote site.

Personally, I find this split between a system tray executor and an IDE add-on confusing. I guess it's one of those design decisions that seem appealing on the drawing board but later disappear as the product matures.



 
 
>>> More Add Ons Articles          >>> More By Danny Kalev
 



HD VOIP Has Arrived (with Tony Konstner)

Play Video >

All Videos >

Google and blonde jokes?

Read now >

Favorite books!

Read now >

View Now
DevSource RSS FEEDS
XML Want an easy way to keep up with breaking tech news? And the Get DevSource headlines delivered to your desktop with RSS.