002
11.07.2003, 23:11 Uhr
~Bon
Gast
|
Hi Michael
eine Seite, auf der man findet, wie lange bestimmten Anweisungen dauern, kann ich Dir leider auch nicht sagen,
Wie schon Flosoft gesagt hat, ist die Hardware und das Betriebsystem ausschlaggebend für die Ausführungszeit von Programmen.
Was für eine Hardware und welches Betriebsystem benutzt Du eigentlich, und weshalb benötigst Du die Laufzeitangaben überhaupt ?
Wenn Du annimmst, dass bei jedem CPU Takt 1 Befehl ausgeführt wird, und Du den Assemblercode kennst, kannst Du die Laufzeit annähernd bestimmen. Bei einem 1 GHz PC dauert 1 Befehl dann 1 Nanno Sekunde. Es gibt aber auch CPU's, die abhängig vom Befehl mehere Takte benoetigen (hauptsaechlich Mikrocontroller) oder weniger (AMD 2000 hat nur 1.66 GHz). Aber 1 CPU Takt gleich 1 Befehl ist ein guter Näherungswert.
Wenn Du aber auf einem PC Hardwarezugriffe machst (HW-Timer, Parallel-Port, ..), kann dieser Befehl dann auch ca. 1 Mikro Sekunde dauern, abhängig von der verwendeten HW.
Unter dem Betriebssystem Windows oder Linux sieht das natürlich ganz anders aus. Diese Betribsysteme sind nämlich keine wirkliche Echtzeitbetriebsysteme, Hier kannst Du keine Angaben zur Laufzeit von Funktionen machen, weil jederzeit andere Programme oder das Betriebsystem die CPU beanspruchen können. Wenn Du z.B. unter Windows Excel aufrufst, kann Dein Programm einige Sekunden unterbrochen werden.
Wenn Du wirklich in Echtzeit programmieren willst, benötigst Du unter Windows zusätzliche Echtzeiterweiterungen wie z.B. RTX von VenturCom ( RTX ).
Gruß Bon Dieser Post wurde am 11.07.2003 um 23:16 Uhr von Pablo Yanez Trujillo editiert. |