Autor Beitrag
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 06.10.05 10:51 
user profile iconalzaimar hat folgendes geschrieben:
Ach so. Na dann Quicksort. Oder einfach TStringlist.Sort einfach gehts doch nicht. Und ob der anwender 100 oder 120ms wartet ist doch peng.

Mit StringListen zu arbeiten schlägt ja völlig gegen Performancevorteile und es ich kann da ja nicht die Zusammengehörigkeit behalten, oder nur sehr schwer ;)


user profile iconalzaimar hat folgendes geschrieben:
Hier: Teste selbst

:gruebel: Was willst du damit aussagen?
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Do 06.10.05 11:46 
user profile iconHeiko hat folgendes geschrieben:
Mit StringListen zu arbeiten schlägt ja völlig gegen Performancevorteile...

Ich fülle ein Stringarray (dynamisch) mit 10000 Elementen in 1,8ms. Eine Stringlist (Capacity vorher gesetzt) in 3,5ms. einerseits ist das die doppelte Zeit, andereseits: Drauf gesch*****. Das Sortieren dauert mit der Stringlist per s.sort 60ms. Das ist in jedem Fall unterhalb der Warnehmungsschwelle. Du schreibst doch keine zeitkritische RT-Anwendung.

Ich würde keine Sekunde mehr daran verschwenden, was denn nun schneller ist. Es *ist* schnell genug, und das zählt. Eine Stringliste ist doch völlig ok für weniger als so 10-20k Elemente. Darüber wirds dann natürlich sehr laangsaam.
user profile iconHeiko hat folgendes geschrieben:
und es ich kann da ja nicht die Zusammengehörigkeit behalten, oder nur sehr schwer ;)

Kapier ich nicht
user profile iconalzaimar hat folgendes geschrieben:
Hier: Teste selbst

:gruebel: Was willst du damit aussagen?[/quote]
Na, das Du es selbst testen sollst. das 'Hier:' bezog sich auf die (auch topologische) Nähe zum Attachment 'TestSorting.Zip', welches, wie der Name impliziert, Sortierungen testet.

_________________
Na denn, dann. Bis dann, denn.
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 06.10.05 13:27 
user profile iconalzaimar hat folgendes geschrieben:
user profile iconHeiko hat folgendes geschrieben:
Mit StringListen zu arbeiten schlägt ja völlig gegen Performancevorteile...

Ich fülle ein Stringarray (dynamisch) mit 10000 Elementen in 1,8ms. Eine Stringlist (Capacity vorher gesetzt) in 3,5ms. einerseits ist das die doppelte Zeit, andereseits: Drauf gesch*****. Das Sortieren dauert mit der Stringlist per s.sort 60ms. Das ist in jedem Fall unterhalb der Warnehmungsschwelle. Du schreibst doch keine zeitkritische RT-Anwendung.

Ich würde keine Sekunde mehr daran verschwenden, was denn nun schneller ist. Es *ist* schnell genug, und das zählt. Eine Stringliste ist doch völlig ok für weniger als so 10-20k Elemente. Darüber wirds dann natürlich sehr laangsaam.
user profile iconHeiko hat folgendes geschrieben:
und es ich kann da ja nicht die Zusammengehörigkeit behalten, oder nur sehr schwer ;)

Kapier ich nicht

Naja ich habe doch einen Record und jetzt möchte ich nach einem dieser Strings aus dem Record sortieren. Dafür muss ich ja die StringList mit diesesn Strings füllen. Aber woher weiß ich dann noch, welcher Titel z.B. zu den neu sortierten Alben gehört?


user profile iconalzaimar hat folgendes geschrieben:
user profile iconHeiko hat folgendes geschrieben:
user profile iconalzaimar hat folgendes geschrieben:
Hier: Teste selbst

:gruebel: Was willst du damit aussagen?

Na, das Du es selbst testen sollst. das 'Hier:' bezog sich auf die (auch topologische) Nähe zum Attachment 'TestSorting.Zip', welches, wie der Name impliziert, Sortierungen testet.


Ich hatte den Anhang mal wieder nicht gesehen ;). Wo du es jetzt sagtest, das dort ein Anhang habe ich einmal die Seite aktualisiert so das ich ihn jetzt sehe ;).


Zuletzt bearbeitet von Heiko am So 09.10.05 10:43, insgesamt 1-mal bearbeitet
alzaimar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2889
Erhaltene Danke: 13

W2000, XP
D6E, BDS2006A, DevExpress
BeitragVerfasst: Do 06.10.05 13:49 
Sei A : Array Of TMyRecord und TMyRecord.Caption der String, nachdem Du sortieren willst:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Var
  sl : TStringList;

Begin
  sl := TStringlist.creatE;
  sl.capacity := Length (A);
  For i:=0 To High (A) Do sl.addObject (a[i].Caption, @A[i]);
  sl.sort;
  // In sl.Objects[i] ist ein Zeiger auf das entsprechend TMyRecord

_________________
Na denn, dann. Bis dann, denn.