Oris schrieb am 3. März 2008 8:35
> ...folgendes verschwiegen:
> Alle Adresswerte sind 64 Bit statt 32 Bit breit, ihre Speicherung
> verbraucht daher doppelt soviel Platz, bei Bewegungen zwischen RAM
> und CPU müssen somit doppelt so viele Bytes bewegt werden, und sie
> verbrauchen auch in den Caches doppelt soviel Platz. Auch manche
> andere Objekte werden bei der Neuübersetzung von herkömmlichem
> x86-Code von 32 Bit auf 64 Bit im x86-64-Modell erweitert.
Nur bei Linux/Unixen, Windows ist gleichgross geblieben. Da ist fast
jede Variable genauso gross wie vorher (Pointer werden grösser, das
stimmt und die UINT_PTR, INT_PTR sind auch grösser).
> Sichtbar
> wird dieses in den erzeugten Programmdateien, die in der Regel 25 %
> bis 30 % größer sind. Dies kann die Ausführungsgeschwindigkeit der
> Programme spürbar herabsetzen.
Nur bei Intels, AMD hat einen brauchbaren 64Bit Modus :). Ausserdem
hat der grössere Code andere Ursachen, kommt aus der Optimierung.
Mehr Register und schon wirds schneller, ach ja, aber nur am AMD,
Intel hat das nicht so auf die Reihe gebracht.
> Danke, AMD, das war jetzt wirklich nötig! Und vor allem damals schon,
> anno 2003!
War schon vorher nötig. Eigentlich schon vor 2000. Nur hat Intel den
i64 so vergeigt.
Rashim
> ...folgendes verschwiegen:
> Alle Adresswerte sind 64 Bit statt 32 Bit breit, ihre Speicherung
> verbraucht daher doppelt soviel Platz, bei Bewegungen zwischen RAM
> und CPU müssen somit doppelt so viele Bytes bewegt werden, und sie
> verbrauchen auch in den Caches doppelt soviel Platz. Auch manche
> andere Objekte werden bei der Neuübersetzung von herkömmlichem
> x86-Code von 32 Bit auf 64 Bit im x86-64-Modell erweitert.
Nur bei Linux/Unixen, Windows ist gleichgross geblieben. Da ist fast
jede Variable genauso gross wie vorher (Pointer werden grösser, das
stimmt und die UINT_PTR, INT_PTR sind auch grösser).
> Sichtbar
> wird dieses in den erzeugten Programmdateien, die in der Regel 25 %
> bis 30 % größer sind. Dies kann die Ausführungsgeschwindigkeit der
> Programme spürbar herabsetzen.
Nur bei Intels, AMD hat einen brauchbaren 64Bit Modus :). Ausserdem
hat der grössere Code andere Ursachen, kommt aus der Optimierung.
Mehr Register und schon wirds schneller, ach ja, aber nur am AMD,
Intel hat das nicht so auf die Reihe gebracht.
> Danke, AMD, das war jetzt wirklich nötig! Und vor allem damals schon,
> anno 2003!
War schon vorher nötig. Eigentlich schon vor 2000. Nur hat Intel den
i64 so vergeigt.
Rashim