Autor Beitrag
delphi10 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 447
Erhaltene Danke: 2

W2K, XP, Vista64, Win7 64
RAD-Studio 2010
BeitragVerfasst: Sa 16.10.10 21:20 
user profile iconMartok hat folgendes geschrieben Zum zitierten Posting springen:

Duct Tape Programming: funktionierender (und selbstdokumentierender) Code zuerst, optimieren kann man immer noch, wenn sich Probleme zeigen. Und das dürfte bei einer Funktion die Mails verschickt wohl nicht passieren...

es sei denn, dass eine Folge von n'&' 100% ausgeschlossen ist. Optimieren kann auch heißen, dass nicht mögliche Zustände auch nicht geprüft oder sonstwie behandelt werden müssen. Einsetzten von X anstelle von
ausblenden Delphi-Quelltext
1:
Pos('&',ErrorText)					

ist dagegen natürlich ok. Aber wie das so ist beim schnellen hinschreiben, sowas merkt man einfach nicht, das guckt sich weg..

_________________
Salus populi suprema lex esto
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: So 17.10.10 05:17 
Das das Delete die eigentliche Spass(=Performance)bremse ist, scheint noch nicht aufgefallen zu sein.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Var
  i,j : Integer;

Begin
  j := 0;
  for i:=1 to length (aString) do
    if aString[i]<>'&' then begin
      inc(j);
      aString[i] := aString[j];
    end;

  SetLength (aString,j);
End;

Da wird dann auch kein Boyer-Moore mehr benötigt. Der wäre bei Suchstring, der nur aus einem Zeichen besteht, sowieso langsamer als eine einfache Suche.

_________________
Na denn, dann. Bis dann, denn.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 17.10.10 08:17 
Doch schon, ich habe es hier auch dann ausprobiert, aber wirklich schneller war es dann nicht, egal ob mit Strings oder PChars.

Da hatte ich dann aber schon mit mehreren Zeichen getestet, für ein Zeichen sollte deins natürlich schneller sein.