Mono : JIT 컴파일을 사용하여 런타임 시점에 요청 시 코드를 컴파일한다.
IL2CPP : AOT 컴파일을 사용하여 실행 전에 전체 애플리케이션을 컴파일한다.
Mono는 사용하기 쉽고 컴파일 시간이 빠르고, IL2CPP는 컴파일 시간이 느리지만 플랫폼에 맞는 최대 성능을 낼 수 있다.
JIT(Just-In-Time)
프로그램에서 코드가 실행되는 시점에 기계어로 번역하는 컴파일 기법
동적 번역런타임 컴파일
AOT(Ahead-Of-Time)
런타임 시 수행해야 할 작업량을 줄이기 위해 빌드 타임에서 미리 컴파일하는 기법
c#으로 작성된 스크립트를 IL(Intermediate Language) 코드로 컴파일한 후 런타임 환경에서 실행된다.
AOT 컴파일을 지원하지 않는 플랫폼에 적합
IL(Intermediate Language) 2(to) CPP(C++)의 약자로 IL(Intermediate Language) 코드를 c++ 코드롤 전환하고, 타겟 플램폼에서 직접 실행될 수 잇는 적합한 네이티브 바이너리 파일로 컴파일한다.
Mono나 JIT 컴파일을 지원하지 않는 플랫폼에 적합