Warum ist eigenltich der Zugriff auf eine Struktur so viel langsamer als auf einen Array?
z.B. der Zugriff auf
ist bei mir viel langsamer als auf
woran liegt das?
Noch etwas: Kennt ihr zufälligerweise eine schnelle Hashmethode um aus 2* 64bit 32 bit zu machen? Bei jeder 64 bit Zahl gilt: Bit k*8+6 und k*8+7 sind immer 0 und es werden nur die ersten 56 bits benötigt, der Rest ist immer 0. Die Hashfunktion sollte eine sehr hohe Performance aufweisen
Die auf 1 gesetzten Bits der folgenden Zahl sind also wichtig. Der Rest ist immer 0:
0000000000111111001111110011111100111111001111110011111100111111
z.B. der Zugriff auf
Code:
typedef __HASH {
unsigned char a : 8;
unsigned char b : 8;
unsigned char c : 8;
unsigned char d : 8;
unsigned char e : 8;
unsigned char f : 8;
unsigned char g : 8;
unsigned char h : 8;
} hash;
ist bei mir viel langsamer als auf
Code:
typedef unisgned char hash[8]
woran liegt das?
Noch etwas: Kennt ihr zufälligerweise eine schnelle Hashmethode um aus 2* 64bit 32 bit zu machen? Bei jeder 64 bit Zahl gilt: Bit k*8+6 und k*8+7 sind immer 0 und es werden nur die ersten 56 bits benötigt, der Rest ist immer 0. Die Hashfunktion sollte eine sehr hohe Performance aufweisen
Die auf 1 gesetzten Bits der folgenden Zahl sind also wichtig. Der Rest ist immer 0:
0000000000111111001111110011111100111111001111110011111100111111