Thema: Delphi Semikolon oder nicht

Einzelnen Beitrag anzeigen

Sebastian Nintemann
(Gast)

n/a Beiträge
 
#1

Semikolon oder nicht

  Alt 2. Jan 2003, 23:58
Hallo zusammen!
Vor längerer Zeit hab ich in nem Buch (Doberanz/Kowalski: Borland Delphi 5 - Grundlagen und Profiwissen) gelesen, man solle doch wo es nicht nötig ist das Semikolon nach einem Befehl weglassen, also wenn ein end auf den Befehl folgt. Der Grund: Das Semikolon verursacht, sofern keine Anweisung mehr folgt, eine sinnlose Leeranweisung. Ich hab mir daraufhin angewöhnt wo es nur geht den Strichpunkt wegzulassen, geht auch ganz automatisch bei mir inzwischen. Ich sehe das aber sonst bei (fast) keinem, und sogar in den Borland Demos wird nicht darauf geachtet. Also hab ich mich mal gefragt ob denn was dran ist, und folgendes probiert:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  start,i: integer;
begin
  start := GetTickCount;
  for i := 0 to 100000000 do
    begin
      begin
      end;
    end;
  Caption := IntToStr(GetTickCount-start)
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  start,i: integer;
begin
  start := GetTickCount;
  for i := 0 to 100000000 do
    begin
      begin
      end
    end;
  Caption := IntToStr(GetTickCount-start)
end;
Zwei bis auf ein Semikolon völlig gleiche (gleich sinnlose) procedures, doch das Ergebnis ist eindeutig: Die erste Procedure braucht 50% mehr Zeit als die zweite! Die erste: ca 300ms, die zweite: ca 200ms. Das Verhältnis bleibt beim Verändern der Zahl.
Zugegeben, sowas braucht einen nicht zu interessieren bei "normalen" Berechnungen, ist aber trotzdem interessant, dass sogar die Borland Demos keine Rücksicht drauf nehmen.

Gruß, Sebastian
  Mit Zitat antworten Zitat