-
malloc/calloc/ralloc, granularität
ist es auf einem 64BitSystem überhaupt sinnvoll, Speicher nicht in Vielfachen von 8Byte
anzufordern? Wird also der Platz bis zu nächsten 8ByteGrenze ggf. von weiteren
malloc/calloc Aufrufen genutz?
-
Soweit ich 64bit verstanden habe, heißt 64bit nicht, dass man nur noch in 64bit-Blöcken adressieren kann. Ganz im Gegenteil: die Adressbreite ist 64bit, d.h. man kann nun 2^64 Bytes (einzeln) adressieren.
-
Registrierter Benutzer
Grundsätzlich kommt es drauf an, auf welchem 64bit System du dich befindest.
Es kommt auch drauf an, was du mit malloc allozierst, z.B. werden struct's generell auf ein Vielfaches der Grösse des grössten Elements vergrössert (z.B. die Grösse eines structs, welches als grösstes Element einen double enthält, wird auf das nächste Vielfache von sizeof(double) vergrössert).
Zusätzlich kann es auch sein, dass die Implementation von malloc und co. auch noch ein paar zusätzliche Bytes zur Verwaltung der einzelnen allozierten Blöcke verwendet und daher (das ist nur ein Beispiel) intern immer mindestens 16 Bytes alloziert.
HTH
-- jeebee
my very own 128 bit integer
C4 D3 B8 A8 9E A0 C6 EC 7D EC A8 15 28 D1 92 58
more information
Stichworte
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen