Chapter 5. Performance and Capacity

Table of Contents
5.1. Host Performance and Capacity
5.2. Target Code Performance

This chapter describes host performance and capacity, and target code performance of ERC32 Ada.

5.1. Host Performance and Capacity

The compile time performance of ERC32 Ada is generally very good. For example, one application, which consists of 20,000 lines of Ada 95, compiles in 16 seconds of CPU time, on a 133MHz Pentium UNIX system. That is a rate of 60,000 lines per minute. These times are for compilations using the highest optimization level.

Ada package specifications, which typically involve very little generated code, compile very quickly. On the other hand, extensive use of generic instantiations or in-line expansion, which can result in large amounts of generated code, can greatly reduce the line-per-minute rate.

Because of the overhead of loading the compiler, the line-per-minute rate will be bigger for a large compilation unit than for a small one. Also once the compiler is loaded, further compilations will proceed a lot faster.

The Ada compiler builds a compact tree structure in memory for each compilation unit. Clearly the size of the tree will depend on the size of the unit, but experience suggests that a UNIX system with 16M bytes of real memory is more than adequate for typical program development, even where X-Windows and Motif are used. However where very large Ada units are to be compiled, 24M bytes of memory will be a better size, and 32M bytes should be sufficient for even the largest compilations. No use is made of any previous compilation of the same unit to increase compilation speed.