JIT Compile 김진태. JIT Compile 이란 ? Managed Code(C#, java, managed C++ 등 ) 에서의 성능 향상을 목적 으로 둔 컴파일 기법Managed Code 예 ) JVM –JVM 의 일반적인 실행 방식 –JIT Compile.

Slides:



Advertisements
Similar presentations
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 프로그래밍 언어론 2nd edition Tucker and Noonan 1 장 소 개 A good programming language is a.
Advertisements

Multi-function Tennis Ball Machine 발표일자 : ( 야 23) 과목명 : 캡스턴디자인 담당교수님 : 홍연찬 교수님 조원 : 구자봉, 이동호, 최지수.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
© IBM Corporation 2006 목 차목 차  자바 언어의 소개  자바 언어의 역사  자바 환경 설정 (JDK 1.5)  Documentation API 의 설치  Eclipse 의 설치와 사용법  HelloWorld.
Visual Basic 활용 참고 교재  『쉽게 따라하는 VB 6 프로그래밍』  저 자 : 하태현, 정용덕  출 판 : 기전연구사, 2004  『엑셀 VBA 프로그래밍 ( 고급 ) 』  저 자 : 오양환 외  출 판 : 기전연구사,
2013학년도 3-1 정보컴퓨터공학부 컴퓨터 소프트웨어 설계 및 실험
덧셈 알아보기 수학 3학년 1학기 2. 덧셈과 뺄셈(1~2/9) 수업계획 수업활동 -학습진행내용-
8장 프로그래밍 언어 8.1 프로그램이란? 8.2 프로그램 언어의 역사 8.3 프로그램 설계 절차
제1장 C#의 기초 1.1 .NET Framwork 1.2 .NET Environment 1.3 C# 소개.
목 차 Chapter 1 컴퓨터와 프로그램 Chapter 2 프로그래밍과 운영체제
직업재활실습 김은비.
Web Programming 강의 소개
컴퓨터 소프트웨어.
3조 오세혁 김문환 김용현.
제 1 장. JAVA란 작성자 : NLIP.
프로그래밍 언어론 2004년 가을학기 창 병 모 숙명여대 컴퓨터과학과.
2강. JAVA 프로그래밍이란?-II & 변수 JAVA 프로그램 환경설정과 실행 방법 변수란?
Kasimov C언어 세미나 1st.
<엘리제를 위하여>를 감상하며 론도 형식 이해하기
U
자바 5.0 프로그래밍.
Visual C++ Programming
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
프로그래밍 서울대학교 통계학과 2009년 2학기 컴퓨터의 개념 및 실습 (
위험물 제조소 등의 종류 주식회사 한국소방엔지니어링.
위험물 제조소 등의 종류 구재현 목원대학교 소방안전관리학과.
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
Rhapsody + MFC 개발 가이드.
제1장 서론.
Lecture 01: Compiler Overview
문제 해결하기 수학 3학년 1학기 덧셈과 뺄셈 (8/9) 수업계획 수업활동 -학습진행내용-
Project apk 디컴파일과 난독화(with Proguard)
강원대학교 공과대학 제어계측공학과 2010년도 제2학기
“정보의 표현” 이 점 숙 컴퓨터와 인터넷 “정보의 표현” 이 점 숙
“소프트웨어의 표현” 이 점 숙 컴퓨터와 소프트웨어 “소프트웨어의 표현” 이 점 숙
기계어변천사.
국민의 권리와 의무 사회 6학년 2학기 1. 우리 나라의 민주 정치 [3) 국민의 권리와 의무 (14-15/19) (활용방법)
친구와 사이좋게 지내기 바른 생활 1학년 2학기 1. 사이좋은 친구 (3/4) [본차시의 주요내용]
뉴로 컴퓨터 개론 제 6 장.
자주권을 지키기 위한 노력 사 회 6 학년 1 학기 2. 근대 사회로 가는 길 2.외세의 침략과 우리 민족의 대응[13/16]
미술품을 여러 가지 방법으로 감상하기 미술 6학년 2학기 12. 현대 미술 > 여러 가지 방법으로 감상하기 (2/6)
비주얼 프로그래밍(2분반) 강의노트 2분반 = 월/목.
학습 목표 1. 제조 기술의 정의와 발전 과정을 이해한다. 2. 제품의 생산 시스템을 이해한다.
제1장 정리 컴퓨터소프트웨어과 2-A반 주세호.
중등교원 전보시스템 로그인 오류시 해결 해결방안 * 작성일 2016 년 12 월 15일 * 작성자 광주광역시교육청.
도덕 3학년 1학기 1-1. 삶의 설계와 가치추구 (1)삶의 모습과 가치 (2)가치의 의미와 종류 1/17 삶의 모습과 가치
모형의 기능과 종류 기술가정 1학년 2. 건설 구조물 모형 만들기 (1) 모형의 기능과 제작 과정 1/6 [제작의도]
쓰레기를 바르게 처리하는 방법 알기 바른 생활 1학년 2학기 4.쓰레기를 바르게 처리해요(1/4) [본차시의 주요내용]
뇌를 자극하는 C 프로그래밍.
1. 우리 민족과 국가의 성립 14/21 차시 조선 건국 후의 여러가지 정책.
(1) 홍길동전 국어 중학교 1학년/1학기 7. 문학과 사회 > (1) 홍길동전(2/7) [화면 소개]
과학 1 학년 2 학기 지구> 01. 판 구조론이란 무엇일까? (2/6) 해저 확장설 수업계획 수업활동.
화덕갈비 전문점 돈 소리                     철저한 프로의식의 길   불필요한 자존심을 버릴 것   자기자본 60% 이하는 하지 말 것
C언어 개요 프로그래밍이란 프로그래밍 언어란 컴퓨터와의 의사소통을 위한 표현 방법 세대별 언어의 발전을 거듭함
2. 청소년 문제와 청소년 건전한 청소년 문화의 정립 (3) [ ] 나상균.
성공적인 입사지원서 작성법 제이비커리어 교육수석 소 은 선.
5. 인류의 건강과 과학 기술 2. 건강관리 1) 면역.
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
자료구조 강의소개 정성훈 연락처 : 이메일 : 연구실 : 연219호 연락처 : 이메일 : 홈페이지: 정성훈.
붙임줄, 이음줄, 임시표의 표현 방법을 알고 리코더 연주하기 음악 5학년 2학기
두 수의 크기 비교 수학 3학년 1학기 10,000까지의 수 (6/8) 수업계획 수업활동 - 학습진행내용-
성실한 생활의 중요성 알기 도덕 6학년 1학기 1. 성실한 생활(1/3)
지속성장을 위한 강력한 경쟁력 독서경영 박희준, 김용출, 황현택 지음 위즈덤하우스.
3. 불교 윤리 사상 01. 불교 사상의 연원과 전개 01. 불교 사상의 연원과 전개 02. 불교 사상의 특징
운영체제 학 번 : 이름 : 변현영.
사회 5학년 1학기 3. 환경 보전과 국토 개발> 2) 환경과 더불어 살아가는 길> (1)환경 문제와 자연 재해>11/17 환경 문제의 합리적 해결 제작의도 맨 처음 보이는 초기화면입니다 활용방법 수업계획과 수업활동 아이콘을 누르면 원하는 곳으로 이동합니다.
우리 나라 인구 이동의 특징과 문제점 사 회 5학년 1학기 2. 우리가 사는 지역 [1]도시 지역의 생활(5/17)
유승석 FILE I/O File Input/Output 유승석 SD50 – C# & .NET Platform.
연구장비 공동활용 지원사업 신청서작성 매뉴얼(참여기업)
두손Order 푸드팩토리 두손Order Ver 1.0 ㈜시소이드.
Presentation transcript:

JIT Compile 김진태

JIT Compile 이란 ? Managed Code(C#, java, managed C++ 등 ) 에서의 성능 향상을 목적 으로 둔 컴파일 기법Managed Code 예 ) JVM –JVM 의 일반적인 실행 방식 –JIT Compile 방식 Java 를 예로 들면 byte code 를 실행하는 경우 JVM 은 한번에 하나의 byte code 명 령어를 번역하여 실행한다. JIT 방식을 사용하게 되면 호출한 byte code 를 해당 플랫폼에서의 실 행 가능한 기계 코드로 실행시간에 컴파일한 후, 기계 코드를 사용한다. 이것은 기존의 interpreter 방식의 단 점을 보완한 방법으로 특정 메쏘드를 지속적으로 호출할 때 더 빠른 성능을 보인다.

JIT Compile 이란 ? 실제로 JVM 은 JIT Compiler 를 포함하고 있지만 –JVM 은 interpreter –JIT 는 Compiler 라고 볼 수 있다. interpreter 방식에서는 byte code 명령어 하나씩 그때 그때 변환하여 실 행하지만 JIT 를 사용하면 호출 되는 순간 프로그램의 한 단위를 machine code 로 컴파일 해서 메모리에 올려놓고 지속적으로 그 코드를 사용한다. – 하지만 이로 인해 일부 프로그램의 경우 오히려 성능 저하를 가져 올 수 있다. 반복적인 메소드 호출이 없는 경우에는 지속적인 bytecode->machine code 로의 컴파일이 발생하기 때문에 성능 저하가 발생한다. – 이러한 이유로 JVM 에서 JIT 는 option 으로 사용 여부를 선택 할 수 있다. – 이를 보완하기 위한 compile 방식으로 AOT(ahead-of-time) 방식이 있다. AOT 방식은 실행 전에 미리 컴파일하는 방식으로 성능 향상에 도움이 된다. – 자세한 내용은 위키참조 ( ※.NET Framework 의 CLR 역시 JIT 기능을 가지고 있다.

참조 htmhttp:// htm

첨부 Managed Code – 통상 중간언어라 부르기도 한다. – JVM 과 CLR 에 의해 실행시간에 기계어로 번역되어 실 행되는 코드 실행 환경을 만들어주면 플랫폼 영향을 덜 받는다는 장점이 있지만 인터프리터 머신에 의해 실행시간에 기계어 번역의 오버헤드 가 발생하여 성능이 느리다는 단점이 있다. – 이를 보완하기 위한 기술 -> JIT CompileJIT Compile – 예 ) byte code –java code 를 java compiler 에 의해 컴파일되어 나오는 code IL –C#, basic, managed C++ 을.NET Framework Compiler 에 의해 컴파 일되어 나오는 code