Bir JIT (Just-In-Time) derleyicisi çalışma zamanında kodu, yani program çalışırken derler. Bu nedenle, derleme maliyeti, programın yürütme süresinin bir parçasıdır ve dolayısıyla en aza indirilmelidir.
Bunun tam tersi, temelde "batch derleyici" ile eşanlamlı olan önceden yapılmış (AOT) bir derleyicidir. Bu kaynak kodunu makine koduna dönüştürür ve ardından sadece makine kodu dağıtılır. Bu nedenle, derleyici, sonuçtaki programın yürütme süresini etkilemediğinden çok yavaş olabilir.
Günümüzde insanlar "derleyici" derken tipik olarak bir AOT derleyici anlamına geliyorlar. Nitekim, "AOT derleyici" terimi sadece insanlar nispeten JIT derlenmiş diller, özellikle JavaScript için AOT derleyiciler yapmaya başladığında nispeten popüler olmaya başladı. Bu dillerin çoğu, örneğin C #, bir VM için bir ara dili derler ve bu sayede JIT çalışma zamanında makine koduna derlenir. "AOT derleyici" terimi, kaynak kodun doğrudan makine koduna derleneceğinin çağrışımına sahiptir, bu nedenle çalışma zamanında hiçbir JIT derlemesi gerekmez.
"Toplu derleyici", bu noktada biraz eski bir terimdir. Toplu iş derleyicisinin, terimin popüler olduğu dönemdeki asıl karşıtlık, artan bir derleyiciydi . Artımlı derleme, sıklıkla bir REPL'iniz olduğu Lisp gibi dillerle ilişkilidir ve etkileşimli olarak belirli bir işlevi derlemek için dil uygulamasından talep edebilirsiniz. Derlemesi daha önce talep edilmemiş bir fonksiyon yürütülürse, tipik olarak yorumlanırdı. Bir parti derleyici, aksine, tüm fonksiyonları bir kerede yani bir seri halinde derledi.