یکی از ویژگیهای که در دانت نسخه 7 (.NET 7) روی آن مانور زیادی شده بحث مربوط به Native AOT.
کلمه AOT مخفف ahead-of-time است و به این اشاره دارد که کدهای شما پیشاپش و با توجه به شناخت شما از سیستم هدف جهت اجرا توسط کامپایلر (بدون استفاده از JIT) مستقیما به کدهای بومی خاص آن سیستم عامل کامپایل شده است.
در واقع پیشدستی کردن در کامپایل IL به کدهای بومی سیستم هدف باعث میشود برنامه برای اجرا دیگر نیاز به Just-In-Time(JIT) در زمان اجرا نداشته باشد.
این ویژگی به کاهش حافظه مورد نیاز از یک سو و افزایش سرعت آماده سازی برنامه از سوی دیگر منجر خواهد شد. به همین خاطر در سناریوهایی که نیاز به ایجاد نمونه های زیادی از یک برنامه وجود دارد (مثل فضاهای ابری) و پردازش های توزیع شده گزینه بسیار مناسبی است.
اما خب استفاده از این ویژگی مستلزم شناسایی دقیق محیط اجرا مثل Linux x64 یا Windows x64 است، دقیقا مانند رفتاری که برای برنامه های self-contained app میشود.
استفاده از این ویژگی در کنار مزایای خود دارای محدودیتهایی است که شامل موارد زیر است: