Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#18

Re: Einen Komma-Text richtig trennen.

  Alt 15. Feb 2008, 23:25
Zitat von marabu:
Der Reiz einer Regular Expression liegt für mich im nicht prozeduralen Ansatz, aber sie kann nie schneller sein, als eine gute handkodierte Lösung:
... deren Performance durch Einbeziehung egozentrischer Performancemanie noch leicht gesteigert werden kann :
Delphi-Quellcode:
Function AlzPurgeID(Const list: String): String;
Var
  iStop, iPos, iDest: Integer;

Begin
  iStop := Length(list);
  SetLength(Result, iStop);
  iDest := 0;
  iPos := 1;
  While iPos <= iStop Do Begin
    If list[iPos] = '{Then
      While (iPos <= iStop) And (list[iPos] <> '}') Do
   inc(iPos)
    Else Begin
      Inc(iDest);
      Result[iDest] := list[iPos];
    End;
    inc(iPos);
  End;
  SetLength(Result, iDest);
End;
Sir Thornberry's Anmerkungen zur Performancebremse 'sString := sString + sSubString' kann ich nur beipflichten. Der Unterschied ist in etwa vergleichbar miz dem Unterschied in der Zubereitungszeit einer Tasse Nescafe und dem eigenhändigen Anbau, Ernte, Röstung, Malen und Brühen von jamiakanischem Blue Mountain. Wobei der Vergleich hinkt: Jamaican Blue Mountain ist es Wert, etwas länger zu warten, Stringkonkatenation hingegen nicht.

Und nun: Assemblerfraktion und Performancegeeks vortreten, bitte!
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat