The requirements of embedded computing have more than expanded to fill the space created by advances in hardware technology. The consequence of this is that the cost, size and weight of embedded computers can be affected by as much as a factor of three by the quality of the Ada cross compiler used for software development. To meet this goal, designers of Ada compilation systems must employ a variety of important optimizations that together provide the performance demanded by critical real-time, embedded systems.
Important optimizations are subprogram calling, exception handling and tasking implementation.
Sub-optimal design in these areas leads to unacceptable overheads which cannot otherwise be overcome and eat into processor utilization. Efficient Code Mapping Ada is a very large language and early implementations were content to implement code mappings for the general case, such as for array assignments, because the emphasis was on keeping in validation. With increased investment over time, compilers select more optimal code sequences according to the context of the construct being mapped. This is largely a middle phase function of the compiler and no amount of optimization later will compensate for its inefficiency. Embedded systems have strong requirements for efficient mappings is what might otherwise be fringe areas of the language, like partword operations and fixed point arithmetic.