Schachcomputer.info Community

Zurück   Schachcomputer.info Community > Schachcomputer / Chess Computer: > Die ganze Welt der Schachcomputer / World of chess computers


Antwort
 
Themen-Optionen Ansicht

  #41  
Alt 15.01.2023, 20:57
Benutzerbild von Rasmus
Rasmus Rasmus ist offline
Mephisto London 68030
 
Registriert seit: 26.08.2016
Land:
Beiträge: 373
Abgegebene Danke: 165
Erhielt 443 Danke für 175 Beiträge
Member Photo Albums
Aktivitäten Langlebigkeit
1/20 8/20
Heute Beiträge
0/3 ssssss373
AW: Mephisto Phoenix London - Geschwindigkeitsvergleiche + Hash Tables

Hi Markus,

 Zitat von Mapi Beitrag anzeigen
Bei grossen Hashtables wird über den "langsamen" 16 bit Datenbus die kompletten 3 MB beschrieben und abgefragt
Es wäre extrem ungewöhnlich, wenn man das so machen würde, weil man eine Hashtabelle nicht "durchsucht". Der Index, an dem man in der Hashtabelle springt, wird direkt aus dem Hashwert berechnet. Damit hängt der Aufwand sowohl beim Speichern als auch beim Nachschlagen einer Position nicht von der Größe der Hashtabelle ab. Lediglich, wenn man die gesamte Hashtabelle schreibt, etwa zwecks Löschen, dann dauert das proportional zur Größe.

Es wäre aber eine andere Falle denkbar. Wenn die Anzahl der Einträge eine Zweierpotenz ist, dann kann man die entsprechenden untersten Bits des Hashes als Index verwenden. Das ist eine AND-Operation, die auch auf den damaligen CPUs schon schnell war, IIRC 6 Takte beim 68k.

Ist die Anzahl der Einträge keine Zweierpotenz, dann kann man stattdessen eine Division mit Rest machen und den Rest als Index verwenden. Allerdings kostet eine Division etwa 140 Takte. Oder man bastelt eine Lösung, die stattdessen die Treffer ungleichmäßig verteilt, was dann wieder schnell ist, aber die Auslastung in Teilen der Tabelle ungleichmäßig macht und dort zu weniger Effektivität führt.

Ob die Größe der Hashtabelle selber dafür eine Zweierpotenz sein muß, hängt davon ab, ob der einzelne Eintrag die Größe einer Zweierpotenz hat, was von der Engine abhängt. Klar ist aber, wenn 2MB die Anzahl von Einträgen als Zweierpotenz hat, dann kann das für 3MB nicht der Fall sein, weil eine Zweierpotenz mal 1.5 keine Zweierpotenz ergibt.

Geändert von Rasmus (15.01.2023 um 21:37 Uhr)
Mit Zitat antworten
Folgende 8 Benutzer sagen Danke zu Rasmus für den nützlichen Beitrag:
Beeco76 (16.01.2023), Egbert (16.01.2023), germangonzo (15.01.2023), Mapi (15.01.2023), Mickey1259 (16.01.2023), RetroComp (15.01.2023), Roberto (16.01.2023), Wolfgang2 (15.01.2023)
  #42  
Alt 15.01.2023, 22:10
Benutzerbild von Mapi
Mapi Mapi ist offline
Schachcomputer Koryphäe
 
Registriert seit: 25.04.2006
Ort: Bocholt
Alter: 59
Land:
Beiträge: 1.237
Abgegebene Danke: 6.213
Erhielt 2.043 Danke für 707 Beiträge
Aktivitäten Langlebigkeit
6/20 18/20
Heute Beiträge
1/3 sssss1237
AW: Mephisto Phoenix London - Geschwindigkeitsvergleiche + Hash Tables

Hallo Rasmus,
vielen Dank für die sehr gute Erklärung.

viele Grüße
Markus
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du bist nicht berechtigt, neue Themen zu erstellen.
Du bist nicht berechtigt, auf Beiträge zu antworten.
Du bist nicht berechtigt, Anhänge hochzuladen.
Du bist nicht berechtigt, deine Beiträge zu bearbeiten.

BB code ist An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.

Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Test: Mephisto IIIS Glasgow Phoenix mclane Partien und Turniere / Games and Tournaments 94 Gestern 23:00
Turnier: Mephisto Phoenix mit Mephisto Glasgow-Emulation Egbert Partien und Turniere / Games and Tournaments 1864 24.02.2024 20:34
Test: London Mephisto Phoenix vs CT800 PeWa Grandmaster pato4sen Partien und Turniere / Games and Tournaments 17 11.01.2023 23:09
Frage: Hash for DCCs IvenGO Die ganze Welt der Schachcomputer / World of chess computers 11 25.02.2014 20:43


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.



Powered by vBulletin (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
©Schachcomputer.info