Whether you are using Unix workstations or PCs for development, you should invest in a high-end desktop for each developer. Marginal differences in acquisition costs are well worth the investment given the additional productivity you will gain. While Moore's law quickly makes any desktop configuration guide obsolete as of late 1998, a suggested minimum developer configuration is shown in Table 16-1
|CPU Cache||1 MB|
|Local Disk||4GB, 7200 RPM|
|Monitor||21 inch high resolution color|
|Network Adapter||100 Mbit/second|
Let's examine each component and its role in development.
CPU speeds continue to increase with no end in sight. For instance, Sun's UltraSPARC processor roadmap, shown in Figure 16-2, show CPU speed increasing from 143 MHz in 1995 to 1.5 Ghz in 2002, roughly doubling every year as predicted by Moore's Law. The faster the CPU, the more productive the developer will be. Even if you use central compile servers for large compile jobs, most developers will make use of their local CPU for small compile jobs. In addition, developers tend to run many tools in parallel. It is not uncommon for a developer to have a dozen or more development tool windows open at any one time and be quickly switching back and forth between them.
Aside from CPU speed, cache size is one of the most important performance indicators of a desktop system. Today's CPUs operate several times faster than main memory and special cache memory is used as a buffer to decrease overall memory access times and increase total memory system performance. You should select the largest cache size available on your CPU, typically 1 MB or more.
Software development, especially with modern interactive development environments, is especially memory intensive . You should start out with a minimum of 128 Mbytes of memory for each desktop. If you don't have enough memory, processes will get swapped out to disk and switching between development windows will slow down dramatically. You should evaluate your memory needs by exercising the proposed desktop with the full suite of development tools the average programmer will be using. This will help you get a much better idea of memory sizing for your choice of tools. Adding more memory to a developer's workstation is often one of the easiest and cheapest ways to increase productivity.
One of the often overlooked components of a workstation is the disk subsystem. Just about any computer advertisement will include two similar models, where the higher priced system includes a larger capacity disk drive. However, drive performance criteria, starting with RPMs, are the most important performance criteria versus capacity. Most low-end PCs still use 4500 or 5400 RPM drives. Higher priced models, especially those using SCSI drives, typically run at a minimum of 7200 RPM, and 10,000 RPM drives are rapidly being introduced into the marketplace .