Advertisement

Qualität des erzeugten Codes

  • Annette Weinert

Zusammenfassung

Ein häufig genannter Grund, die Sprache Ada nicht zur Programmierung zu verwenden, liegt in der vermuteten Ineffizienz des erzeugten Codes. Dies stimmt so allgemein jedoch höchstens für ältere Ada-Übersetzer. Die Laufzeiten sind für Ada bei vielen bekannten Benchmarks durchaus mit denen für C vergleichbar. In vielen C-Implementierungen gibt es überhaupt keinen Optimierer, in anderen wird er nicht benutzt, da Fehler befürchtet werden beziehungsweise sich das Programm nicht mehr vernünftig mit den vorhandenen Debuggern bearbeiten läßt ([De90]). In Ada ist durch die Sprachdefinition genau festgelegt, welche Programmeigenschaften von Optimierungsverfahren verändert werden dürfen und welche nicht. Die Sprachdefinition ist dabei sehr restriktiv, so daß bekannte Optimierungsverfahren, wie zum Beispiel die Codeverschiebung, nur sehr begrenzt zulässig sind. Daher kann es durch den Optimierer keine Überraschungen im Verhalten des Programms geben. Die Einhaltung der Sprachdefinition durch einen Ada-Übersetzer wird durch eine unabhängige, offizielle Einrichtung bescheinigt. Ada-Programme bieten dem Übersetzer auch mehr Informationen, die für die Optimierung verwendet werden können, als C-Programme. So können die durch die Sprache Ada erzwungenen Laufzeitüberprüfungen wie Indexgrenzenüberprüfung sicherlich besser optimiert werden als die von einem Programmierer von Hand in ein C-Programm eingefügten.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/Wiesbaden 1992

Authors and Affiliations

  • Annette Weinert
    • 1
  1. 1.KarlsruheDeutschland

Personalised recommendations