![]() |
Re: Random() zu langsam?
Hehe, das ist natürlich gut :D
|
Re: Random() zu langsam?
Zitat:
|
Re: Random() zu langsam?
Delphi-Quellcode:
Hab mich wohl versehen, das auf den ersten Blick so ausgesehen, als würde er generate sehr oft aufrufen und dabei jedesmal neuen Speicher reservieren. Ich sollte wohl genauer hinschauen.
procedure TFach.generate;
var i : Integer; begin SetLength(Items, Number+1); for i := 0 to Number do begin Items[i] := Random(Number)+1; end; end; |
Re: Random() zu langsam?
Zitat:
Was soviel bedeutet, dass ich weiterhin am Auslesen in der GUIa rbeiten muss. |
Re: Random() zu langsam?
Nein, das bedeutet, dass du deine Daten nicht in der GUI speichern solltest, denn dafür ist die GUI nicht gemacht worden ;)
|
Re: Random() zu langsam?
Na meine Daten sind doch zur Zeit im Array, welches sich in der Fachklasse TFach befindet. Auslesen tat ich mit einer Schleife. Und das wollte ich jetzt so ändern, dass die Daten in TStringList gespeichert werden und mittels List.Assign anfügen. Oder hab ich das falsch verstanden?
|
Re: Random() zu langsam?
Hallo,
du hast die Zahlen doch bereits in einem Array abgelegt, warum dann noch einmal in einer Stringliste und anschließend in der ListBox? Du kannst eine TListBox im virtuellen Modus betreiben (ListBox.Style = lbVirtual). Für jedes Element wird dann ein OnData-Ereignis ausgelöst, in dem du die anzuzeigenden Daten bereitstellen mußt. Wie bist du eigentlich auf die Idee gekommen, 100000+ Elemente in einer Listbox darzustellen? Das Scrollen (und genaue Positionieren) in einer solchen Datenmenge macht keinen Spaß. Gruß Hawkeye |
Re: Random() zu langsam?
Ich möchte nur zahlen generieren, diese mit verschiedenen verfahren sortieren, und die benötigte zeit vergleichen.
|
Re: Random() zu langsam?
Zitat:
|
Re: Random() zu langsam?
Zitat:
Code:
man sieht, dass TStringList um Welten schneller ist.
TStringList: 62ms
TMemo: 11.1s TListBox: 1.75s Es dauert allerdings gleich lang, wenn man eine TListBox direkt befüllt oder zuerst TStringList befüllt und dann auf TListbox "assigned". (eigentlich logisch; in beiden Fällen müssen 100000 Messages verschickt werden) ABER: wenn man auf die Strings zugreift um z.B. sie zu sortieren, dann macht das einen Unterschied von Faktor 30 ob man den Sortiervorgang auf einer StringList ausführt oder auf TListBox.Items. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz