একটি জেআইটি (জাস্ট-ইন-টাইম) সংকলক রান-টাইমে কোড সংকলন করে, যেমন প্রোগ্রামটি চলছে। সুতরাং সংকলনের ব্যয়টি প্রোগ্রামটির সম্পাদন সময়ের অংশ, এবং তাই হ্রাস করা উচিত।
এর বিপরীতটি হচ্ছে সামনের সময়ের (এওটি) সংকলক যা মূলত "ব্যাচ সংকলক" এর সমার্থক। এটি উত্স কোডটিকে মেশিন কোডে রূপান্তর করে এবং তারপরে কেবল মেশিন কোড বিতরণ করা হয়। সুতরাং, সংকলকটি খুব ধীর হতে পারে কারণ এটি ফলাফলযুক্ত প্রোগ্রামটির প্রয়োগের সময়কে প্রভাবিত করে না।
আজকাল, লোকেরা "সংকলক" বলতে সাধারণত তাদের অর্থ একটি এওটি সংকলক। প্রকৃতপক্ষে, "এওটি সংকলক" শব্দটি তখনই তুলনামূলকভাবে জনপ্রিয় হয়ে উঠল যখন লোকেরা জেআইটি সংকলিত ভাষাগুলির জন্য, বিশেষত জাভাস্ক্রিপ্টের জন্য এওটি সংকলক তৈরি করা শুরু করেছিল। এর মধ্যে অনেকগুলি ভাষা, যেমন সি #, একটি ভিএম এর মধ্যবর্তী ভাষার সাথে সংকলন করে যা তখন রান-টাইমে মেশিন কোডে জেআইটি সংকলিত হয়। "এওটি সংকলক" শব্দের অর্থটি হ'ল উত্স কোডটি সরাসরি মেশিন কোডে সংকলিত হবে, সুতরাং রানটাইম সময় জেআইটি সংকলনের কোনও ফর্মের প্রয়োজন নেই।
"ব্যাচ সংকলক" এই মুহুর্তে কিছুটা প্রত্নসম্পর্কীয় শব্দ। শব্দটি জনপ্রিয় হওয়ার সময় ব্যাচের সংকলকের আসল বিপরীতে ছিল একটি ইনক্রিমেন্টাল সংকলক । বর্ধিত সংকলন প্রায়শই লিস্পের মতো ভাষার সাথে সম্পর্কিত যেখানে আপনার কাছে একটি আরপিএল ছিল এবং আপনি ইন্টারেক্টিভভাবে একটি নির্দিষ্ট ফাংশন সংকলনের জন্য ভাষা প্রয়োগের জন্য অনুরোধ করতে পারেন। যদি কোনও ক্রিয়াকলাপ সম্পাদন করা হয় যার সংকলনটির জন্য আগে অনুরোধ করা হয়নি তবে এটি সাধারণত ব্যাখ্যা করা হবে। একটি ব্যাচ সংকলক, বিপরীতে, সমস্ত ফাংশন একবারে সংকলন করেছে, অর্থাত্ একটি ব্যাচে।