Einzelnen Beitrag anzeigen

-Lucky-

Registriert seit: 4. Mai 2008
28 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Schneller Code - Von Delete und Insert -> Copy ->

  Alt 6. Mai 2008, 21:55
Was ich mit diesem Delete und Insert meine ist folgendes. In diesem Beispiel werden einfach zwei Zeichen in einer in einem beliebigen Text getauscht, habe jetzt mal nur die Prozeduren aufgeführt:

Delphi-Quellcode:
procedure tauschen1(VAR text: string; x,y: integer);
var a,b: char;
Begin
  a := text[x];
  b := text[y];
  delete(text,x,1);
  insert(b,text,x);
  delete(text,y,1);
  insert(a,text,y);
End;

procedure tauschen2(VAR text: string; x,y: integer);
var b: char;
Begin
  b := text[x];
  text[x] := text[y];
  text[y] := b;
End;
Das Analyseergebnis:

Bei Tauschen 1:

Zeichen: - Zeit:
1.000 - 7,1 s
1.000.000 - 116 min, 0 s
1.000.000.000 - 80d, 13h, 12min


Bei Tauschen 2:

Zeichen: - Zeit:
1.000 - <0,1 s
1.000.000 - <0,1 s
1.000.000.000 - 14,6 s


Warum die eine Prozedur wesentlich länger braucht ist mir klar, ich kann logisch nachvollziehen wie Delete und Insert funktionieren, und dass dort mehr Schritte nötig sind, als wenn der Text einfach nur überschrieben wird, also dieses eine Zeichen.

Kann man irgendwo nachlesen, was bei den einzelnen Funktionen und Prozeduren genau gemacht wird? Weil diese setzen sich sicherlich aus anderen kleineren Bestandteilen zusammen wenn ihr versteht was ich meine. Versteht ihr?
  Mit Zitat antworten Zitat