was mich mal interessieren würde: Wenn ich meinen Basic-Code optimiere und diesen dann durch einen Compiler übersetzen lasse. Ist der Maschinencode dann auch schneller, als wenn man einen nicht optimierten Code durch einen Compiler übersetzen lässt?
In der Tat, kann man das wohl nicht allgemeingültig beantworten. Sagen wir so, es gibt sicher Fälle, wo das so ist.
Wenn ich etwa so etwas habe:
FOR I=0 TO 7: B(I) = 2^(7-I): NEXT
und das optimiere zu
V=1:FOR I=7 TO 0 STEP-1: B(I)=V: V=V+V: NEXT
Das sind jetzt nur 8 Durchläufe, aber es wären ja umfangreichere Dinge auch möglich, wo das dann schon ins Gewicht fallen könnte.
Also es hängt wohl von der konkreten Optimierung ab. Die Sachen, die "nur" die Interpreter-Laufzeit optimieren wirken sich beim Compiler nicht aus, alles was eher Richtigung algorithmische Optimierung geht schon eher.
Zu einem gewissen Grad hängt das auch von den Optimierungsfähigkeiten eines Compilers ab.
Ein
IF A>0 AND A < 40 THEN ...
wird mit
IF A>0 THEN IF A < 40 THEN ...
auch bei jenen Compilern schneller, die nicht eine bedingte Auswertung erkennen und von sich aus die Kaskade wie im 2. Beispiel erzeugen.