Syntax | سینتکس
2.98K subscribers
423 photos
111 videos
35 files
392 links
Download Telegram
کامپایلر AOT و JIT

کامپایلر های Ahead Of Time مستقیم کد ما را تبدیل به machine code می کنند اما در کامپایلر های Just In Time کد ما تبدیل به یک کد میانی Bytecode می شود و در زمان اجرا توسط runtime engine هر قسمت از برنامه ما که مورد استفاده قرار می گیرد تفسیر می شود و تبدیل به machine code می شود.

چه زبان هایی از AOT و چه زبان هایی از JIT استفاده می کنند؟
زبان هایی مثل سی، سی پلاس پلاس و گولنگ AOT compilation هستند.
زبان هایی مثل جاوا، سی شارپ معمولا از JIT استفاده میکنند.

مقایسه این دو با هم:
در AOT بیلد کردن کد بیشتر طول می کشد اما در JIT سریع تر اتفاق میوفتد.
در AOT کد های ما به machine code تبدیل می شوند و قابلیت اجرا بصورت مستقیم را دارند اما در JIT توسط interpreter اجرا میشود. در این صورت اگر در JIT تکه کدی از ما اصلا مورد استفاده قرار نگیرد، تبدیل به ماشین کد هم نمی شود اما از آن طرف همیشه overhead وجود دارد که باید یک runtime engine داشته باشید تا کد های شما اجرا شود.

https://www.linkedin.com/pulse/ahead-of-time-compilation-vs-just-in-time-java-comparative-raj/

#Compiler

@Syntax_fa
👍9