Der Begriff Laufzeit ( englisch Laufzeit ) beschreibt in der Informatik Einerseits sterben Zeitdauer, stirbt eine Anwendung , ausgeführt Durch EINEN Rechner , zur Bewältigung Einer Aufgabe benötigt. Anderseits Wird mit LaufzeitAuch allgemein sterben Programmlebensphase der Ausführung, sterben nach der Kompilierung folgt, bezeichnet. Sie suchen ein besseres Bild von der Übersetzungszeit das Gegenstück.
Laufzeit als Dauer der Ausführung
Die Länge der Zeitspanne, sterben zur Lösung Einer Aufgabe benötigt Wird, Lässt sich Hauf nur Durch ausprobieren bestimmen. Jeder befehl Eines Programm in Einem Höher Programmiersprache Werden vom Compiler in Einer vorher nicht bekannt zwingend Anzahl von Maschinenbefehlen übersetzt. Die Ausführung eines Befehls kann Ihre Hardware, weitere Verzögerungen bewirken – wenn z. B. Daten between Hauptspeicher und Cache ausgetauscht oder von der Festplatte in den Speicher eingelagert Werden Müssen ( paging ). Weitere Abhängigkeiten ergeben sich aus Betriebssystem , CPU-Taktrate , Größe des Hauptspeichers, Übertragungsrate des InternenBus- Systeme usw. Auch Möchte man ETWA abschätzen, Wie sich das untersuchte Programm unter Variation der Größen wo Eingangsvariablen wo Instanz, verhalten.
In der Informatik zitiert man Laufzeiten von Algorithmen in Zeiteinheiten an. Stattdessen sucht Mann Eine Obere Schrank ein sterben Anzahl der Die Bedienung einfach, Auch Elementarschritte, in der Größe der Instanz und used sterben Landau Notation .
Ungewöhnliche Verhaltensprogramme, Das n Zahlen sortiert:
- {\ displaystyle {\ mathcal {O}} (n)}beschreibt nur lineares Wachstum. Solch ein Programm hat eine bestimmte Anzahl von Rechenschritten. Wurden zB so viele Zahlen eingegeben, so verschwindet die Ausführungsdauer.
- {\ displaystyle {\ mathcal {O}} (n ^ {2})}gebrauchtes quadratisches Wachstum. Ihr Sortierprogramm ist das Beste von allem und es ist immer eine gute Idee. Bei doppelter Größe der Eingabedaten kommt auch hier etwas zu einer Vervierfachung der Ausführungsdauer hinzu.
- {\ displaystyle {\ mathcal {O}} (2 ^ {n}}}Würde schließlich exponentielles Wachstum beten ohne. Im beispiel des Sortierprogramms Würde sich mit Jeder weitere Zahl sterben Laufzeit (ungefähr) verdoppeln, war BEREITS bei verhältnismäßig kleinen Eingabegrößen zu extrem Schlauch Laufzeiten Führt. Sölch EINEN Zeitverbrauch erreicht ein Sortierprogramm beispielsweise, INDEMAR es alle Möglich Reihenfolgen der Zahlen daraufhin getestet ob sie sortiert Sind.
Verfahren mit exponentieller Laufzeit Versucht man DAHER nach möglichkeit zu vermeiden – ob das überhaupt geht, ist a die Fragen, Theoretischen Informatik Stellt (VGL DaZu. Mann mich in der sterben Komplexitätstheorie und NP-Vollständig ). Angestrebt Wird mit Polynom Elle Verfahren, auch salopp gesagt “ n hoch irgendwas“, oder noch besser logarithmischen Laufzeit{\ displaystyle {\ mathcal {O}} (\ log n)}. Heute gewöhnliche Sortierverfahren erreichen eine Worst Case-Laufzeit von{\ displaystyle {\ mathcal {O}} (n \ log n)} oder {\ displaystyle {\ mathcal {O}} (n ^ {2})}. Ein Beacht dabei that ein Programm im Grunde dreigeteilt ist – Eingabe, VERARBEITUNG, Ausgabe – und that sich nur der mittlere Teil in of this hinsicht optimiert Lässt (Ein- und Ausgabe Haben in der Regel linears Zeitverhalten – Es muss ja Jeder einzelnen Wert eingelesen / Werden ausgegeben).
Laufzeit als Lebensphase eines Programms
Laufzeit ( Runtime ) bezeichnet Auch sterben Phase der Ausführung Eines Programm in Einer spezifischen Laufzeitkontext: variierende Hardwareeigenschaften, Eingabeparameter und Benutzer -Interaktion. Das Programm befindet sich zur Laufzeit typischerweise in Einer verwendung in Einem Kontext der in of this EXAKTA Konstellation Durch den Entwickler nicht (oder nur näherungsweise über Dynamischer Code – Analyse ) vorhersehbar war.
Wenn nun beim ausführen in Diesem variierenden Kontext Bestimmt Programmeigenheiten – Fehler insbesondere – erstmal auftreten Infos finden, erhält der Entwickler Hauf nur auf diesen Weg Hinweise stirbt für Notwendig Änderung am Programm. Im weiteren Sinne Kann SOMIT Auch sterben Regulars Ausführung Eines Programm als Teil des Entwicklungsprozess angesehen Werden.
Weitere Phaser Sind z. B. stirbt Übersetzungszeit (engl. Kompilieren Zeit ) als Phase bis zum zeitpunkt der automatically Übersetzung des Quelltextes und stirbt Link Stunde für den zeitpunkt, zu ihnen das Programm aus Seiner Binara Applications Komponente zu Einer ausführbaren Einheit zusammengeführt Wird. Manchmal Wird sterben Phase des Modellierens und Programmierer Eigentlich als precompile Stunde bezeichnet.
Siehe auch
- Laufzeitfehler
- Asymptotische Laufzeit (Zeitkompleksität)
- Maximale Laufzeit
- Amortisierte Laufzeitanalyse
- Laufzeitbibliothek
- Laufzeitumgebung