Schnelle HashTable

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Klappt meine Hashtable mit einem eigenen Callback nicht?
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Klappt, aber ist viel zu langsam

Ich verwende jetzt die Lib von Edel und die benötig bei mir für 10000 Schreibaktionen 0-16 ms und deine ~150-170 ms. Doch um den Faktor 10 bis Unendlich langsamer. Leider eben mit IMA.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Little John

Beitrag von Little John »

Schnelle und flexible Hash tables möchte ich auch haben. :)
Daher: Wie heißt die besagte Lib von edel, und wo kann ich sie herunterladen?

Gruß, Little John
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Little John hat geschrieben:Daher: Wie heißt die besagte Lib von edel, und wo kann ich sie herunterladen?
Du kucke hier:
http://www.purebasic.fr/german/viewtopi ... 853#211853

Grüße ... Kiffi
a²+b²=mc²
Little John

Beitrag von Little John »

Danke!
Den Link hatte ich gesehen. Aber wenn das die Lib ist die cxAlex benutzt, wieso schreibt dann Thomas dazu: "Versuchs mal hiermit" ?

Gruß, Little John
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Little John hat geschrieben:Danke!
Den Link hatte ich gesehen. Aber wenn das die Lib ist die cxAlex benutzt, wieso schreibt dann Thomas dazu: "Versuchs mal hiermit" ?

Gruß, Little John
Weil die Lib, welche cxAlex genutzt hat von gnozal ist (PureDic). Diese ist
von edel.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Little John

Beitrag von Little John »

Alles klar, danke!

Gruß, Little John
Little John

Beitrag von Little John »

Leider ist die Hilfe zu der Lib sehr knapp.
Wie kann man einem bereits bestehenden Schlüssel einen neuen Wert zuweisen? Sowas wie

Code: Alles auswählen

HT_Assign()
habe ich nicht gefunden.

Gruß, Little John
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Der Schluessel darf nur einmal vorkommen, von daher kannst einfach ht_insert benutzen.

Code: Alles auswählen

ht = HT_New()

HT_Insert(ht,"bla",100)
HT_Insert(ht,"bla",200)
HT_Insert(ht,"huhu",200)
HT_Insert(ht,"huhu",666)

HT_Examine(ht)

While HT_Next(ht)	
	Debug HT_GetKey(ht)	+ ": " + Str(HT_GetValue(ht))
Wend 

HT_Free(ht)
Little John

Beitrag von Little John »

Ah, verstehe. Vielen Dank für die Lib, edel!
Läuft hier übrigens prima ohne IMA ( oh, das reimt sich :) ) mit PB 4.20 unter Windows XP.

Gruß, Little John
Antworten