![]() |
AW: Wert [Word] in Liste/Array vorhanden
Ich habe kein 2009 installiert, war aber damals auf der Roadshow, wo Daniel Magin und Matthias Eißing die Generics vorgestellt haben. Von daher bin ich mir ziemlich sicher, dass es die dort gibt.
|
AW: Wert [Word] in Liste/Array vorhanden
Zitat:
|
AW: Wert [Word] in Liste/Array vorhanden
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Wert [Word] in Liste/Array vorhanden
@Aphton: Super Idee mit deiner Assembler Funktion :) Das merk ich mir!
Ich glaube ich teste die Funktion mal gegen die Standard for-schleifen Variante. Edit: Int-Array-Länge: 100 000 100 000 Prüfungen auf den Wert 50 000 For-Variante: ~ 16 Sekunden ASM-Methode: ~3 Sekunden |
AW: Wert [Word] in Liste/Array vorhanden
Lineare Suche in ASM ist ja ganz nett, aber gegen ein HashSet immer noch langsam.
1 bis 100000 in ein Hashset, 10 Mio Mal nach 50000 suchen: Zwischen 130ms und 150ms. Kommt natürlich auch ein bisschen auf die CPU drauf an, aber ich habe auch 100 Mal öfter gesucht! |
AW: Wert [Word] in Liste/Array vorhanden
Funktioniert aber auch nur wenn jeder Wert nur 1x vorkommt oder nicht?
|
AW: Wert [Word] in Liste/Array vorhanden
Sagen wir so: Die Anzahl wird nicht gespeichert. Es sollte aber trotzdem kein Problem sein, die Liste/das Array in ein Hashset zu stopfen und dann damit zu überprüfen ob die Zahl enthalten ist. Bei vielen tests ist das dann durchaus schneller als die lineare Suche.
|
AW: Wert [Word] in Liste/Array vorhanden
Stimmt, muss mal meine Delphi Version im Profil aktualisieren ;-)
Das mit dem Hashset muss ich mir mal angucken. Die ASM Funktion sieht auch interessant aus, die muss ich aber erstmal genau verstehen ;-) Danke auf alle Fälle für eure Anregungen, könnt natürlich gerne weiter machen ;-) Gruß |
AW: Wert [Word] in Liste/Array vorhanden
Der Threadstarter hat keine Aussagen über das Array getroffen - ist es z.B. sortiert? Falls ja, ginge es ja mit der binären Suche in Log(N) Zeit.
Ansonstnen über Hashes; oder ganz billig - linear! |
AW: Wert [Word] in Liste/Array vorhanden
Zitat:
Da eine Hashfunktion möglichst Kollisionsfrei vom Design her ist, enthalten die Listen im Hashset meistens nur wenige (eig. 1) Einträge. Gibts Kollisionsen, so ist das auch kein Problem! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 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