| Zeile 27: | Zeile 27: | ||
:::Das 16Byte Alignment ist afaik aber auch erst mit x86-64 eine ABI-Konvention. Zumindest habe ich es in dem Zusammenhang das erste Mal gelesen.--[[Benutzer:Bluecode|Bluecode]] 19:02, 6. Feb. 2011 (CET) | :::Das 16Byte Alignment ist afaik aber auch erst mit x86-64 eine ABI-Konvention. Zumindest habe ich es in dem Zusammenhang das erste Mal gelesen.--[[Benutzer:Bluecode|Bluecode]] 19:02, 6. Feb. 2011 (CET) | ||
::Das mit dem natürlichen Aligment ist auf jeden Fall richtig. Das der Stack (beim betreten und verlassen einer Funktion) möglichst auf 16Bytes ausgerichtet sein soll hat eher den Grund das der Compiler sich drauf verlassen kann das wenn er z.B. ein Struct das SSE-Typen enthält dort ablegt das auch auf die möglichst ausgerichtet zugegriffen werden kann. Außerdem erhöht sich damit die Wahrscheinlichkeit das nebeneinander liegende Variablen auf dem Stack auch die selbe Cache-Line teilen, also wenn der Compiler 2 int64_t-Variablen passend ausgerichtet (in Relation zum Stack-Pointer bei Funktionseintritt) auf den Stack legt dann liegen die auch immer beide in der selben Cache-Line wenn der Stack-Pointer beim Funktionseintritt wirklich ausgerichtet war.--[[Benutzer:Erik.vikinger|Erik.vikinger]] 17:09, 6. Feb. 2011 (CET) | ::Das mit dem natürlichen Aligment ist auf jeden Fall richtig. Das der Stack (beim betreten und verlassen einer Funktion) möglichst auf 16Bytes ausgerichtet sein soll hat eher den Grund das der Compiler sich drauf verlassen kann das wenn er z.B. ein Struct das SSE-Typen enthält dort ablegt das auch auf die möglichst ausgerichtet zugegriffen werden kann. Außerdem erhöht sich damit die Wahrscheinlichkeit das nebeneinander liegende Variablen auf dem Stack auch die selbe Cache-Line teilen, also wenn der Compiler 2 int64_t-Variablen passend ausgerichtet (in Relation zum Stack-Pointer bei Funktionseintritt) auf den Stack legt dann liegen die auch immer beide in der selben Cache-Line wenn der Stack-Pointer beim Funktionseintritt wirklich ausgerichtet war.--[[Benutzer:Erik.vikinger|Erik.vikinger]] 17:09, 6. Feb. 2011 (CET) | ||
| + | |||
| + | == Stub? == | ||
| + | |||
| + | Ist diese Seite wiklich ein Stub? Sie ist doch schon recht umfangreich... --[[Benutzer:BeanMe|BeanMe]] 17:06, 24. Sep. 2012 (CEST) | ||