Thread Hash im Skalaren Kontext 3/8 und so (15 answers)
Opened by rosti at 2012-08-16 18:32

Muffi
 2012-08-17 12:48
#161113 #161113
User since
2012-07-18
1465 Artikel
BenutzerIn
[default_avatar]
1e8 Buckets bei 1e8 Keys ist zu wenig. Ich weiss nicht, wann Perl genau umhasht, aber so 20-30% Buckets sollten auf jeden Fall frei sein.

Was hier evtl. passieren könnte ist, dass Perl relativ spät feststellt, dass die 1e8 Buckets nicht reichen und dann relativ viel neu hashen muss, während bei der Auto-variante schon viel früher das letzte mal neu gehasht wird.

[EDIT]
Hmm, ich glaub das ist doch ne schlechte Theorie...
134217728 ist die nächste 2er-potenz zu 1e8, d.h. eigentlich sollt er nicht neu gehasht haben :-\

[EDIT2]
Bei mir ist ein kurzes perl -e mit 1e7 aber mit Bucketzuweisung schneller. Neue Theorie (bei mir kam bei 1e8 out of memory). Fängt der Rechner vielleicht bei der Zuweisung der Buckets zu swappen an?
Last edited: 2012-08-17 13:13:04 +0200 (CEST)
1 + 1 = 10

View full thread Hash im Skalaren Kontext 3/8 und so