Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
13. Dez 2011
Du könntest natürlich auch einfach FastMM einbinden. (der ist eh besser, als der alte DelphiMM)
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
13. Dez 2011
Delphi alignmentiert :lol: standardmäßig nur soweit, wie es jeweils der größte Type verlangt.
Deine Double sind nur 8 Byte, also werden sie auch an 8 Byte-Grenzen ausgerichtet.
Bytes werden an Byte-Grenzen ausgerichtet, wie z.B. ein array of Byte oder ein Record mit 8 Byte, da der größe Eineltyp ja ein Byte ist.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by himitsu,
13. Dez 2011
Das ALIGN hat dann allerdings nur auf direkte Variablen (lokal, global oder als Feld) eine wirkung, aber indirekt ist das auch schon bei Pointern (GetMem und Co.) gegeben, denn FastMM richtet jeden Speicher schon seit Jahren so aus und nutzt selber SSE-Moves, oder warn's MMX?.