[Allegro] avanti f. Linux als 64bit-Version?

Anando Eger a.eger at aneg-dv.de
Mo Sep 29 12:05:44 CEST 2008


Hallo Herr Berger,

Sie schrieben u.a.:

> 64bittig heisst vor allem, dass alle Daten- und Speicherzugriffe
> moeglichst mit mindestens 8 Bytes zugleich erfolgen. D.h. alle
> Datenstrukturen muessen an solchen Grenzen ausgerichtet werden.

"möglichst" ja - "müssen" nicht. Auch in 64bit-Umgebungen gibt es
Byte-Arrays oder andere "kurze" Datentypen. 

> Fuer den Index und die meisten anderen Dateien von allegro wuerde
> das (ich weiss allerdings nicht, ob im Index bereits mit groesseren
> Kacheln gearbeitet wird) abgesehen von der Reorganisation des
> Codes auch eine Inkompatibilitaet mit anderen Plattformen bedeuten,
> die nur dadurch zu loesen waere, dass auch alle anderen Allegro-
> Versionen Speicher nur noch in 8-Byte-Bloecken nutzen.

Natürlich ist ein
64bittiges Alignment von Datenstrukturen für die Performance optimal - 
aber nicht zwingend. Inkompatibilitäten in den Datenstrukturen
der Dateien können u.a. dann entstehen, wenn dem Compiler die Wahl 
des Alignments überlassen oder mit ungeeigneten UNION-Konstrukten
gearbeitet wird. Ob das so ist, kann einer, der das Programm 
geschrieben hat oder den Code genau kennt, beurteilen.

Da ich nicht zu diesem Personenkreis gehöre, bleibt mir nur, eine
Frage zu stellen - ist doch nicht unanständig, oder?

Viele Grüße
Anando Eger

---------------------------------------------------------------------
Anando Eger Datenverarbeitung
Herr Dipl.-Ing. Anando Eger
Gustav-Voigt-Str. 24
01156 Dresden
Tel.: +49 (0)351 454 1236  http://www.aneg-dv.de
Fax: +49 (0)351 454 1238  mailto:a.eger at aneg-dv.de
---------------------------------------------------------------------



On 26 Sep 2008 at 13:32, Thomas Berger wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Lieber Herr Eger,
> 
> >> Der normale Avanti laeuft bei mir hervorragend auf einer
> >> x86_84-Plattform, oder dachten Sie an Support fuer Itanium?
> > 
> > - es gibt Leute, die sich 64bit-Server anschaffen und dann
> >   nach nativer 64bit-Software fragen
> 
> Na, dann hoffen wir, dass sie keinen Itanium-Server gekauft
> haben, denn dann haetten sie besser vorher gefragt. Die x86_64-
> Plattformen von AMD und Intel sind gluecklicherweise so
> kompatibel, dass 32bit-Software problemlos laeuft.
> 
> 
> > - vielleicht ist das Erzeugen der 64bit-Version von
> >   Avanti nur eine Frage des Compiler-Schalters...
> 
> 64bittig heisst vor allem, dass alle Daten- und Speicherzugriffe
> moeglichst mit mindestens 8 Bytes zugleich erfolgen. D.h. alle
> Datenstrukturen muessen an solchen Grenzen ausgerichtet werden.
> Fuer den Index und die meisten anderen Dateien von allegro wuerde
> das (ich weiss allerdings nicht, ob im Index bereits mit groesseren
> Kacheln gearbeitet wird) abgesehen von der Reorganisation des
> Codes auch eine Inkompatibilitaet mit anderen Plattformen bedeuten,
> die nur dadurch zu loesen waere, dass auch alle anderen Allegro-
> Versionen Speicher nur noch in 8-Byte-Bloecken nutzen.
> 
> Den "Schalter" gibt es natuerlich auch, der regelt einerseits
> die Verlinkung mit 64-bit-Libraries und andererseits wird der
> produzierte Maschinencode auch so aufgeblaeht, dass er zu
> 8 Bytes zugleich eingelesen wird.
> 
> viele Gruesse
> Thomas Berger
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.3-nr1 (Windows XP)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iQCVAwUBSNzIXGITJZieluOzAQIzlQP7BU2EW4mrkoWtFeGMiuERcd7c9VY6bQoB
> brGJKqecESVjJuV1OlN5SoM5FPEqQ7Ld76Rd6senHinXdhuvGAVcMDGGqnvUTMlp
> gLTzlbsyTHdyFmk1JnIV+j7oL3uUp1t/pM9PKdGNUes2rWuoZB2YsmMEaAJc7ICN
> 5Ebr4z0xbz0=
> =/AGt
> -----END PGP SIGNATURE-----
> 





Mehr Informationen über die Mailingliste Allegro