Während man bei älteren Computern froh war, daß komplizierte Aufgaben überhaupt und wenn möglich noch in einer akzeptablen Zeit bewältigt wurden, zählt für neuere PCs in erster Linie die Geschwindigkeit: Je schneller desto besser, denn können kann so ein »Ding« ja sowieso schon (fast) alles. SPEED.DEB ermittelt über einen Zähler die Anzahl der Durchläufe einer einfachen Schleife, die die CPU während eines Timer-Ticks schafft und liefert das Ergebnis im Errorlevel. Ein 4,77-MHz-XT bringt es übrigens auf 5 Durchläufe, ein 386er mit 25-MHz-Cache schafft 64! Bei höheren Taktfrequenzen, vor allem bei den CPUs 80286 und 80386, weicht das Ergebnis mehr oder weniger stark von der tatsächlichen Taktfrequenz ab. Als grobe Referenz ist SPEED jedoch sehr wirkungsvoll. So können Sie z. B. in einem Netzwerk die Ausführung eines rechenintensiven Programms auf zu langsamen Workstations verbieten. Probieren Sie bei Bedarf mal den folgenden Stapeljob aus, der den Aufruf des Turbo-Debuggers verhindert, falls ein PC zu langsam ist:
@ECHO OFF SPEED IF ERRORLEVEL 10 GOTO SCHNELL ECHO Das Gerät ist für TD zu langsam! GOTO ENDE :SCHNELL TD %1 %2 %3 :ENDE
Name: | SPEED.DEB |
Funktion: | Ermittelt einen Index für die PC-Geschwindigkeit. |
Übersetzung: | DEBUG <SPEED.DEB |
Prüfsumme: | 2220 |
Anwendung: | SPEEDIF ERRORLEVEL #
# = Geschwindikgeitsfaktor |
Einschränkungen: | Je schneller der PC, desto mehr weicht das Ergebnis von der tatsächlichen Rechengeschwindigkeit ab. |
A POP DS ;100 MOV AL,FE ;101 OUT 21,AL ;103 HLT ;105 MOV BL,[46C] ;106 MOV CX,3F4 ;10A CMP BL,[46C] ;10D JNZ 11C ;111 LOOP 10D ;113 CS:INC By[121] ;115 JNZ 10A ;11A MOV AL,0 ;11C OUT 21,AL ;11E MOV AX,4C00 ;120 INT 21 ;123 RCX 25 NSPEED.COM W Q
Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot