Enviar pesquisa
Carregar
05_컴파일러최적화전략(1)
•
1 gostou
•
931 visualizações
N
noerror
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 14
Baixar agora
Baixar para ler offline
Recomendados
함수형 프로그래밍
함수형 프로그래밍
CWMin
Why Functional Programming Matters
Why Functional Programming Matters
Lee WonJae
Lp 2
Lp 2
siddharthfighter
OpenCV 에서 OpenCL 살짝 써보기
OpenCV 에서 OpenCL 살짝 써보기
Seunghwa Song
15_TextureAtlas
15_TextureAtlas
noerror
C++ Advanced 강의 5주차
C++ Advanced 강의 5주차
HyunJoon Park
Ch09
Ch09
Hankyo
Effective c++ chapter 7,8
Effective c++ chapter 7,8
문익 장
Recomendados
함수형 프로그래밍
함수형 프로그래밍
CWMin
Why Functional Programming Matters
Why Functional Programming Matters
Lee WonJae
Lp 2
Lp 2
siddharthfighter
OpenCV 에서 OpenCL 살짝 써보기
OpenCV 에서 OpenCL 살짝 써보기
Seunghwa Song
15_TextureAtlas
15_TextureAtlas
noerror
C++ Advanced 강의 5주차
C++ Advanced 강의 5주차
HyunJoon Park
Ch09
Ch09
Hankyo
Effective c++ chapter 7,8
Effective c++ chapter 7,8
문익 장
The Future of C# and .NET Framework
The Future of C# and .NET Framework
명신 김
Windows reversing study_basic_2
Windows reversing study_basic_2
Jinkyoung Kim
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
경식 최
Effective c++ 4
Effective c++ 4
현찬 양
Chapter7~9 ppt
Chapter7~9 ppt
Injae Lee
A tour of C++ : the basics
A tour of C++ : the basics
Jaewon Choi
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
Jay Park
2013 C++ Study For Students #1
2013 C++ Study For Students #1
Chris Ohk
C++ api design 품질
C++ api design 품질
HyeonSeok Choi
[2012 03 17]clean_code 14장 점진적개선
[2012 03 17]clean_code 14장 점진적개선
Jong Pil Won
Windosw via c 스터디23장.pptx
Windosw via c 스터디23장.pptx
HolyTak
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
NAVER Engineering
About Functional Programming Paradigms
About Functional Programming Paradigms
Junho Yeo
자바 8
자바 8
신 한
클린 코드 part2
클린 코드 part2
Minseok Jang
Architecture patterns with python (2)
Architecture patterns with python (2)
동환 김
C Language II
C Language II
Suho Kwon
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
Gyuwon Yi
Windosw via c 스터디23장.pptx
Windosw via c 스터디23장.pptx
HolyTak
Windows reversing study_basic_7
Windows reversing study_basic_7
Jinkyoung Kim
11_웹서비스활용
11_웹서비스활용
noerror
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
noerror
Mais conteúdo relacionado
Semelhante a 05_컴파일러최적화전략(1)
The Future of C# and .NET Framework
The Future of C# and .NET Framework
명신 김
Windows reversing study_basic_2
Windows reversing study_basic_2
Jinkyoung Kim
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
경식 최
Effective c++ 4
Effective c++ 4
현찬 양
Chapter7~9 ppt
Chapter7~9 ppt
Injae Lee
A tour of C++ : the basics
A tour of C++ : the basics
Jaewon Choi
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
Jay Park
2013 C++ Study For Students #1
2013 C++ Study For Students #1
Chris Ohk
C++ api design 품질
C++ api design 품질
HyeonSeok Choi
[2012 03 17]clean_code 14장 점진적개선
[2012 03 17]clean_code 14장 점진적개선
Jong Pil Won
Windosw via c 스터디23장.pptx
Windosw via c 스터디23장.pptx
HolyTak
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
NAVER Engineering
About Functional Programming Paradigms
About Functional Programming Paradigms
Junho Yeo
자바 8
자바 8
신 한
클린 코드 part2
클린 코드 part2
Minseok Jang
Architecture patterns with python (2)
Architecture patterns with python (2)
동환 김
C Language II
C Language II
Suho Kwon
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
Gyuwon Yi
Windosw via c 스터디23장.pptx
Windosw via c 스터디23장.pptx
HolyTak
Windows reversing study_basic_7
Windows reversing study_basic_7
Jinkyoung Kim
Semelhante a 05_컴파일러최적화전략(1)
(20)
The Future of C# and .NET Framework
The Future of C# and .NET Framework
Windows reversing study_basic_2
Windows reversing study_basic_2
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
마이크로 프론트엔드 아키텍쳐를 위한 모노레포 관리
Effective c++ 4
Effective c++ 4
Chapter7~9 ppt
Chapter7~9 ppt
A tour of C++ : the basics
A tour of C++ : the basics
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
2013 C++ Study For Students #1
2013 C++ Study For Students #1
C++ api design 품질
C++ api design 품질
[2012 03 17]clean_code 14장 점진적개선
[2012 03 17]clean_code 14장 점진적개선
Windosw via c 스터디23장.pptx
Windosw via c 스터디23장.pptx
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
About Functional Programming Paradigms
About Functional Programming Paradigms
자바 8
자바 8
클린 코드 part2
클린 코드 part2
Architecture patterns with python (2)
Architecture patterns with python (2)
C Language II
C Language II
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
Windosw via c 스터디23장.pptx
Windosw via c 스터디23장.pptx
Windows reversing study_basic_7
Windows reversing study_basic_7
Mais de noerror
11_웹서비스활용
11_웹서비스활용
noerror
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
noerror
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
noerror
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
noerror
11_통계 자료분석 입문
11_통계 자료분석 입문
noerror
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
noerror
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
noerror
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
noerror
08_Marching Cube Terrains
08_Marching Cube Terrains
noerror
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
noerror
08_플래시 맛보기
08_플래시 맛보기
noerror
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
noerror
08_Wxwidgets 소개
08_Wxwidgets 소개
noerror
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
noerror
07_스케일폼 소개
07_스케일폼 소개
noerror
07_Visual Shader Editor
07_Visual Shader Editor
noerror
06_HDR 소개
06_HDR 소개
noerror
06_게임엔진 활용팁
06_게임엔진 활용팁
noerror
06_게임엔진구성
06_게임엔진구성
noerror
06_자동차물리입문(1)
06_자동차물리입문(1)
noerror
Mais de noerror
(20)
11_웹서비스활용
11_웹서비스활용
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
11_통계 자료분석 입문
11_통계 자료분석 입문
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
08_Marching Cube Terrains
08_Marching Cube Terrains
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
08_플래시 맛보기
08_플래시 맛보기
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
08_Wxwidgets 소개
08_Wxwidgets 소개
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
07_스케일폼 소개
07_스케일폼 소개
07_Visual Shader Editor
07_Visual Shader Editor
06_HDR 소개
06_HDR 소개
06_게임엔진 활용팁
06_게임엔진 활용팁
06_게임엔진구성
06_게임엔진구성
06_자동차물리입문(1)
06_자동차물리입문(1)
05_컴파일러최적화전략(1)
1.
컴파일러의 최적화 전략
이해(1) 김성익(noerror@hitel.net) 2005.04.01
2.
개요 • 빠른 코드,
가독성이 좋은 소스 • 빠른 코드, 컴파일러가 좋아하는 소스 • 컴파일러 최적화에 따른 프로그래밍 전 략
3.
컴파일러 • 컴파일러의 일반적인
기능 • 언어 컴파일링의 단계
4.
최적화 • 코드 최적화의
구성
5.
Common Subexpression
Elimination (1) • 항상 같은 결과는 내는 수식을 제거한다. 수식이 중복되더라도 가독성 좋은 코드를 작성한다
6.
Common Subexpression
Elimination (2) • 왜 상수함수를 사용하면 좋나요 ? 결과가 동일하기 때문에 함수 필요한 경우 호출 횟수 를 줄인다
7.
Copy Propagation • 결과의
차이가 없고, 연산을 줄이는 경 우 변수를 치환한다 최적화를 위해서 일부러 변수를 줄일 필요는 없다.
8.
Constant Propagation • 변수가
상수를 담고 있는 경우 상수로 치환한다
9.
Algebraic Identities • 결과가
명확한 수식은 가벼운 연산으로 치환한다. 의미상 필요한 공식이라면 일부러 제거하거나 변형하 지 않아도 된다.
10.
DeadCode Elimination • 기능을
하지 않는 코드는 제거한다. 참조되지 않는 함수, 코드 모두
11.
CodeMotion • 루프 안의
코드 중 변화가 없다고 판단 되는 코드는 루프 밖으로 이동 가독성을 헤치면서 복잡한 연산을 루프 밖으로 이동 시킬 필요가 없다
12.
Induction Variable • 루프안에서
일정하게 증가하는 값은 상 수 덧셈으로 치환한다. 치환이 명백한 경우 가독성을 헤치면서 값싼 연산자 로 치환할 필요가 없다
13.
Loop Unrolling • 짧은
루프에서 비교문의 비중이 너무 큰 경우 루프를 Unroll한다. 똑똑한 컴파일러는 해주려나 ?
14.
중간 결과 • 최적화를
해야 하는 것, 하지 않아도 되 는것 • VS .net 전역 최적화
Baixar agora