Data Alignment یعنی اینکه داده ها رو جوری توی آدرس حافظه (Memory) قرار بدیم که که آدرسش بخش پذیر بر یک Word در اون سیستم باشه .
برای مثال اگه کامپیوتر ما 32 بینی باشه , آدرس شروع داده ی ما باید 4 و 8 و 16 و 32 و 64... ( و همینجور دنباله داره ) باشه . به این Data Alighment میگن .
این کاری میکنه که پردازنده کامپیوتر سیریع بتونه داده ها رو واکشی کنه .
همچنین Cache Miss هم کمتر میشه .
و یه سری چیزای دیگه که خوب یادم نیس !
Data Structure Padding هم یعنی اینکه شما در هر ساختارتون تعدادی Byte بدون کاربرد میگزاری. چرا ؟
چونکه اگر برای مثال اندازه ی ساختار شما 5 باشه هنگامی که یه شی از اون ساخنه بشه کاری میکنه که شی هایی که پس از این ساخته میشن در آدرس تراز ( Align ) نشده قرار بگیرن . پس شما ( Compiler بیشتر این کار رو میکنه ) سه Byte بدون کاربرد هم میزاری توی ساختار تا ترازبندی انجام بشه .
درباره ی Cache Miss هم اینو بخون : http://fa.wikipedia.org/wiki/%D8%AD%D8%A7%D9%81%D8%B8%D9%87_%D9%86%D9%87%D8%A7%D9%86_%D8%B3%DB%8C%E2%80%8C%D9%BE%DB%8C%E2%80%8C%DB%8C%D9%88