Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesDistributed Compiling Speeds Development


December 1995 / Reviews / Symantec C++ Differences / Distributed Compiling Speeds Development

Recompiling (building) hundreds of source files totaling, say, 5 MB, can take a dozen hours. It's a productivity killer that programmers perform as infrequently as possible. Reducing this compile time could let developers see the results of their changes daily instead of weekly.

The new NetBuild feature in Symantec C++ 7 lets you distribute compilation chores across the network to computers that are less busy than yours. Compiles formerly done serially on one machine are now happening in parallel on several machines. This potentially speeds up some compiles by a minimum of 100 percent (assuming you're using at least five 90-MHz Pentium PCs).

Before starting NetBuild, you must go to each candidate machine on the network and install a small control program. Whenever you run NetBuild, the administrative routine on your local PC checks the dependencies of your project file to determine which source files need to be compiled. Then, the first file is fed to the local compiler. The administrator looks for any machines that are free. When it finds one, it passes the remote machine the full path of the file to be compiled. The remote machine then logs on to your local machine, mounts one of its drives for accessing the particular file, and begins the compilation.

You can be even more efficient on large projects by designating one computer to be a build server. This server would contain precompiled headers (the Windows system files and other commonly accessed housekeeping code) that otherwise would be compiled for each source file.

NetBuild won't always be faster than a single-machine build. On projects of roughly 25 or fewer source files, you're just as well off going the traditional route, Symantec says.

NetBuild does little to analyze the resources on each networked computer. It can, however, redistribute work on the fly if a node goes down. Symantec plans to add intelligent scheduling and resource "sniffing" in later versions.


NetBuild Outsources Proficiently

screen_link (42 Kbytes)

NetBuild distributes source files to other machines for faster, parallel compiling.


Up to the Reviews section contentsGo to previous article: What's New for the MacintoshGo to next article: Systems Design in ObjecTimeSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network