Forum: Object-Pascal / Delphi-Language
by Harry Stahl,
14. Feb 2014
Bei mir hier dauert Deine Lösung 119 MS.
Dennoch würde ich mal sagen, Du hast den Preis gewonnen.:thumb:
Cooler Thread.:!:
Ich finde es jedenfalls echt faszinierend, wie man immer noch ein wenig mehr Leistung durch Optimierung aus den Routinen raus holen kann.
Forum: Object-Pascal / Delphi-Language
by Harry Stahl,
14. Feb 2014
Deine (Furtbichler) Lösung braucht bei mir 275 MS, allerdings erfüllt Dein Vorschlag leider die Aufgabe nicht, es bleiben 1 Mio Einträge in der Liste.
Nachtrag: Gerade habe ich gesehen, dass Du in Deinem Beitrag etwas früher hier noch eine weitere Zeile am Ende hattest:
SetLength(sl,j);
Da streikt der Compiler mit dem Hinweis "Inkompatible Typen".
Hey, vielleicht sollten wir einen...
Forum: Object-Pascal / Delphi-Language
by Harry Stahl,
14. Feb 2014
OK, diese Vorschläge aufgegriffen, bringt der Einbau in die von mir vorgeschlagene Variante es dann auf 299 Millisekungen:
Sollte jetzt reichen, oder?
var
slDummy: TSTringList;
begin
slTmp := TSTringlist.Create;
slTmp.Capacity := sl.Count;
Forum: Object-Pascal / Delphi-Language
by Harry Stahl,
14. Feb 2014
Wie wäre es mit einer Lösung, die Dein Problem von 2 Minuten
auf 599 Millisekunden reduziert?
Auf meinem (wohl etwas schwachen Rechner) hat Deine ursprüngliche Variante sogar 200527 MS benötigt (statt die von Dir angegebenen 120000 MS).
Manchmal kommt man nur über Umwege zum Ziel:
//for i := (sl.Count - 1) downto 0 do
//if sl = '' then sl.Delete(i);