سیستم های 64 بیتی چون تعداد register ها دو برابر هستش شما داده های موقت را می تونید بجای حافظه توی register ها نگهداری کنید.
پارامترهای ارسالی بیشتری به تابع بجای ارسال به stack به register ها فرستاده میشوند.
سایز خود integer register ها هم 64 شده برنامه هایی که بتونن از این مزیت استفاده کنند سود کردن یعنی شما با همون کلاک حالا دیگه 64 بیت را بجای 32 بیت انتقال میدید یا پروسس می کنید.
زمان اشغال حافظه های بزرگ و آزاد کردن شون نسبت به 32 کاهش پیدا کرد چون خود malloc و free کلاک زیادی می برن.
البته معایب هم داره 64 به 32.
اشاره گرها و ارجاعات و عناصر پشته همگی 64 شدند ولی سایز cache cpu تغییر نکرده و نرخ پر شدنش نسبت به 32 بیتی 2 برابر شده پس قاعدتاً miss chashing زیادی هم خواهیم داشت
محاسبه آدرس حافظه برای متغیر های global و استاتیکی که بشتر از 4 gig باشند نیاز به دستورات بیشتری داره البته این قضیه تو windows و mac بیشتره تو linux کمتر.