Thread Hashes verbinden
(18 answers)
Opened by Froschpopo at 2006-10-11 17:19
@Crian
Nein, ein extra-Aufwand wird nicht verwendet, damit die Reihenfolge der Hashtraversierung bei verschiedenen Perl-Läufen (ich nehme an, Du meinst damit Aufrufe eines Skriptes) verschieden ist. Das kann an verschiedenen Dingen liegen, z.B. wird die Grösse einer Hash-Tabelle (Anzahl Slots) aufgrund einer Heuristic ermittelt (man braucht eine gewisse Anzahl an Slots, auch wenn der Hash noch leer ist, um Kollisionen gering zu halten). Diese Heuristic kann von der Anzahl der zu erwartenden Einträgen, dem zur Verfügung stehenden Systemspeicher oder anderen Dingen abhängen (und sollte eine Primzahl sein). Und wenn die Grösse der Hash-Tabelle unterschiedlich ist, werden die Slots (bei gleichen Daten! ) in der Regel auch unterschiedlich belegt, und es gibt an unterschiedlichen Stellen Kollisionen, usw. All das bewirkt, daß bei gleicher Traversierung Hash-Elemente an unterschiedlichen Stellen im Hash gefunden werden, von Lauf zu Lauf. Gruß, Doc\n\n <!--EDIT|docsnyder|1160665007--> |