Bernhard Walle schrieb:
[...] Mir ging es halt mehr um den Speicherbedarf eines Programms. longs kommen ja so häufig nicht vor, der am meisten verwendete Datentyp bei "normalen" Programmen dürfte int und Zeiger auf irgendwas der häufigste Typ sein.
Es sind nicht nur die einfachen Datentypen, die ihren Beitrag leisten. structs und Klassen könnten für ihre Member Alignment z.B. an 8-Byte-Grenzen annehmen (ist unter Windows häufig der Fall; unter Linux dürfte es ähnlich sein). An 8-Byte-Grenzen ausgerichtete Daten sollten auf einer 64Bit-Maschine genau so viel Speicherplatz verbrauchen wie auf 32Bit. Anders sähe es aus, wenn Ausrichtung an kleineren Grenzen oder gar gepackte Datenstrukturen die Regel wären. Dann würde sich der Speicherverbrauch fast verdoppeln. Bei den meisten Programmen dürften allerdings Strings den Großteil des Speicherverbrauchs ausmachen. Ich würde mal stark davon ausgehen, daß ein einzelnes Zeichen auch unter 64Bit nur ein bzw. zwei Bytes (Unicode) in Anspruch nimmt. -- Viele Grüße, Alex