Product Design, Manufacturing & Innovation Resources
» 적시 생산(JIT) 컴파일

적시 생산(JIT) 컴파일

1990
Software engineer optimizing JIT compilation in a modern workspace.

(설명을 위한 생성된 이미지입니다)

적시 생산 JIT(Just-In-Time) 컴파일은 컴파일과 인터프리터의 기능을 결합한 하이브리드 방식입니다. AOT(Ahead-of-Time) 컴파일 대신 JIT 컴파일은 코드를 실행 직전에 컴파일하는 방식입니다. 컴파일러 실행 직전에 바이트코드를 네이티브 기계어로 변환하는 기술입니다. 이를 통해 실제 런타임 동작에 기반한 동적 최적화가 가능하며, 순수 인터프리터 방식보다 성능이 향상되는 경우가 많습니다.

JIT 컴파일러는 런타임 환경 또는 가상 머신 내에서 작동합니다. 메서드가 처음 호출될 때, 플랫폼에 독립적인 바이트코드가 네이티브 머신 코드로 컴파일되어 캐시됩니다. 이후 해당 메서드를 호출할 때는 빠른 네이티브 코드가 직접 실행되어 인터프리터 오버헤드를 건너뛸 수 있습니다. 이로 인해 시작 또는 워밍업 단계에서 약간의 지연이 발생할 수 있지만, 장시간 실행되는 애플리케이션의 경우 장기적으로 상당한 성능 향상을 가져올 수 있습니다.

JIT 컴파일의 핵심 장점은 프로파일 기반 최적화 또는 적응형 최적화를 수행할 수 있다는 점입니다. 런타임은 코드 실행을 모니터링하여 어떤 코드 경로가 자주 실행되는지(핫 경로)와 처리되는 데이터 유형에 대한 통계를 수집할 수 있습니다. 정적 AOT 컴파일러에서는 사용할 수 없는 이러한 런타임 정보를 통해 JIT는 더욱 정확한 최적화 결정을 내릴 수 있습니다. 예를 들어, 특정 구체적인 데이터 유형이 항상 사용되는 것을 관찰하면 가상 메서드 호출에 대한 투기적 인라이닝을 수행할 수 있습니다. 나중에 이 가정이 틀린 것으로 판명되면 JIT는 '역최적화'를 수행하고 더 안전한 실행 경로로 되돌아갈 수 있습니다. 이러한 동적인 특성 덕분에 JIT 컴파일은 객체 지향 및 동적 언어에 매우 효과적입니다.

UNESCO Nomenclature: 1203
컴퓨터 과학

유형

소프트웨어/알고리즘

분열

상당한

용법

널리 사용됨

전구체

  • 사전 실행(AOT) 컴파일러
  • 통역사들
  • p-코드 및 기타 바이트코드 시스템
  • 스몰토크와 리스프 같은 동적 언어에 대한 연구
  • 가상 머신 개념

응용 프로그램

  • 자바 가상 머신(JVM)
  • .NET 공용 언어 런타임(CLR)
  • 웹 브라우저의 자바스크립트 엔진(예: V8)
  • pypy는 고성능 파이썬 구현체입니다.
  • 데이터베이스 쿼리 실행 엔진

특허:

NA

잠재적 혁신 아이디어

현재 하루 4만 건이 넘는 봇 트래픽을 차단하기 위해 이 콘텐츠는 커뮤니티 회원만 이용할 수 있습니다.
> 로그인 < 또는 >등록 < 이 콘텐츠를 비롯한 모든 제한된 콘텐츠와 도구는 (100% 무료로) 이용할 수 있습니다.

관련 용어: JIT(Just-In-Time 컴파일), 동적 컴파일, 가상 머신, JVM, CLR, V8, 바이트코드, 적응형 최적화, 런타임.

역사적 맥락

적시 생산(JIT) 컴파일

1980
1986-01-01
1990
1990
1993
1998
2010
1980
1982-07-01
1988-06-01
1990
1993
1997-04-23
2001
2010

(날짜를 알 수 없거나 관련이 없는 경우, 예를 들어 "유체역학"의 경우, 주목할 만한 등장 시기를 대략적으로 추정하여 제공합니다.)

관련 발명, 혁신 및 기술 원칙

고화질 이미지 및 다운로드는 등록된 회원에게만 100% 무료로 제공됩니다.

> 로그인 <