Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

Re: Boolsche Datentypen, die mehr als 1 Byte belegen

  Alt 13. Jan 2006, 12:50
Der_Unwissende hat nicht ganz recht.

Denn die vier Hauptarbeitsregister EAX, EBX, ECX und EDX lassen sich sehr wohl unterteilen in AX, BX, CX, DX und AH, AL, BH, BL, CH, CL, DH, DL. Und der Delphi-Compiler nutzt das bei Boolean aus. Somit besteht da kein Performencegewinn, wenn man LongBool einsetzt. Der LongBool entstammt mehr dem Problem der unterschiedlichen Programmiersprachen.
Selbst der Speicherzugriff ist bei einem LongBool und einem ByteBool identisch. Er kann unter umständen aber auch für den ByteBool schneller sein, genau dann, wenn der LongBool nicht aligned ist, als zwischen einer 4-Byte Addressgrenze liegt, was aber heutzutage nicht mehr vorkommen sollte (außer man verwendet packed records).
  Mit Zitat antworten Zitat